cloudcommerce 0.5.0 → 0.6.0

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/package.json +1 -1
  3. package/packages/api/package.json +1 -1
  4. package/packages/apps/correios/package.json +1 -1
  5. package/packages/apps/custom-payment/package.json +1 -1
  6. package/packages/apps/custom-shipping/package.json +1 -1
  7. package/packages/apps/datafrete/package.json +1 -1
  8. package/packages/apps/discounts/package.json +1 -1
  9. package/packages/apps/emails/package.json +1 -1
  10. package/packages/apps/fb-conversions/package.json +1 -1
  11. package/packages/apps/frenet/package.json +1 -1
  12. package/packages/apps/galaxpay/package.json +1 -1
  13. package/packages/apps/google-analytics/package.json +1 -1
  14. package/packages/apps/infinitepay/package.json +1 -1
  15. package/packages/apps/jadlog/package.json +1 -1
  16. package/packages/apps/loyalty-points/package.json +1 -1
  17. package/packages/apps/melhor-envio/package.json +1 -1
  18. package/packages/apps/mercadopago/package.json +1 -1
  19. package/packages/apps/pagarme/package.json +1 -1
  20. package/packages/apps/paghiper/package.json +1 -1
  21. package/packages/apps/pix/package.json +1 -1
  22. package/packages/apps/tiny-erp/package.json +1 -1
  23. package/packages/apps/webhooks/package.json +1 -1
  24. package/packages/cli/package.json +1 -1
  25. package/packages/config/package.json +1 -1
  26. package/packages/emails/package.json +1 -1
  27. package/packages/events/package.json +1 -1
  28. package/packages/firebase/package.json +1 -1
  29. package/packages/i18n/package.json +1 -1
  30. package/packages/modules/package.json +1 -1
  31. package/packages/passport/package.json +1 -1
  32. package/packages/ssr/package.json +1 -1
  33. package/packages/storefront/client.d.ts +23 -3
  34. package/packages/storefront/dist/client/_astro/PitchBar.457658a3.js +1 -0
  35. package/packages/storefront/dist/client/_astro/Prices.a1302bf9.js +1 -0
  36. package/packages/storefront/dist/client/_astro/ProductCard.1a45764a.js +1 -0
  37. package/packages/storefront/dist/client/_astro/ShopHeader.0a6766ac.js +1 -0
  38. package/packages/storefront/dist/client/_astro/{_...slug_.648728f3.css → _...slug_.6721f699.css} +1 -1
  39. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.6da04e63.js +1 -0
  40. package/packages/storefront/dist/client/_astro/client.b854166f.js +1 -0
  41. package/packages/storefront/dist/client/_astro/firebase-app.7ce2ebb1.js +1426 -0
  42. package/packages/storefront/dist/client/_astro/format-money.6f464cee.js +1 -0
  43. package/packages/storefront/dist/client/_astro/hoisted.721ad75d.js +1 -0
  44. package/packages/storefront/dist/client/_astro/idle-callback.889bf0ea.js +1 -0
  45. package/packages/storefront/dist/client/_astro/index.a500792d.js +1 -0
  46. package/packages/storefront/dist/client/_astro/modules-info.80ae4e30.js +1 -0
  47. package/packages/storefront/dist/client/_astro/preload-helper.101896b7.js +1 -0
  48. package/packages/storefront/dist/client/_astro/{runtime-dom.esm-bundler.e8b26f2c.js → runtime-dom.esm-bundler.acde10ec.js} +1 -1
  49. package/packages/storefront/dist/client/fallback/index.html +3 -3
  50. package/packages/storefront/dist/client/sw.js +1 -1
  51. package/packages/storefront/dist/server/chunks/pages/{all.ba8f4b85.mjs → all.e0f284c9.mjs} +240 -26
  52. package/packages/storefront/dist/server/chunks/{prerender.8cd4ad42.mjs → prerender.9f6cbb00.mjs} +0 -0
  53. package/packages/storefront/dist/server/entry.mjs +5 -5
  54. package/packages/storefront/package.json +1 -1
  55. package/packages/storefront/server.d.ts +34 -0
  56. package/packages/storefront/src/env.d.ts +1 -0
  57. package/packages/storefront/src/helpers/afetch.ts +3 -1
  58. package/packages/storefront/src/helpers/idle-callback.ts +9 -0
  59. package/packages/storefront/src/lib/browser-env.ts +22 -0
  60. package/packages/storefront/src/lib/components/LoginForm.vue +13 -9
  61. package/packages/storefront/src/lib/components/SocialNetworkIcon.vue +29 -0
  62. package/packages/storefront/src/lib/components/SocialNetworkLink.vue +37 -0
  63. package/packages/storefront/src/lib/components/globals/ALink.vue +2 -2
  64. package/packages/storefront/src/lib/layouts/BaseStateJson.astro +1 -1
  65. package/packages/storefront/src/lib/scripts/firebase-app.ts +16 -3
  66. package/packages/storefront/src/lib/server-data.ts +25 -0
  67. package/packages/storefront/src/lib/ssr-context.ts +8 -6
  68. package/packages/storefront/src/lib/state/customer-session.ts +51 -30
  69. package/packages/storefront/src/lib/state/modules-info.ts +2 -5
  70. package/packages/storefront/tailwind.config.cjs +1 -0
  71. package/packages/types/package.json +1 -1
  72. package/packages/storefront/dist/client/_astro/PitchBar.df2672ff.js +0 -1
  73. package/packages/storefront/dist/client/_astro/Prices.99fa99bf.js +0 -1
  74. package/packages/storefront/dist/client/_astro/ProductCard.a322c854.js +0 -1
  75. package/packages/storefront/dist/client/_astro/ShopHeader.abd6dec6.js +0 -1
  76. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.e6f0b936.js +0 -1
  77. package/packages/storefront/dist/client/_astro/client.e6b58b55.js +0 -1
  78. package/packages/storefront/dist/client/_astro/ecom-utils.92f137f6.js +0 -1
  79. package/packages/storefront/dist/client/_astro/hoisted.6edd7364.js +0 -1
  80. package/packages/storefront/dist/client/_astro/index.5dd878ac.js +0 -1
  81. package/packages/storefront/dist/client/_astro/modules-info.e8935203.js +0 -1
  82. package/packages/storefront/src/lib/components/ADrawer.vue +0 -110
  83. package/packages/storefront/src/lib/components/LoginDrawer.vue +0 -82
@@ -0,0 +1 @@
1
+ import{i as n}from"./_plugin-vue_export-helper.6da04e63.js";const f=e=>{if(typeof e!="object"||e===null)return console.error(new Error("`product` must be an object")),!1;let r=e.price_effective_date;if(r){let t=new Date;if(r.start&&new Date(r.start)>t||r.end&&new Date(r.end)<t)return!1}return e.base_price>e.price},s=f,c=e=>s(e)?e.price:e?typeof e.final_price=="number"?e.final_price:Math.max(e.base_price||0,e.price||0):0,a=c,m=(e,r=n.get("currency"),t=n.get("lang"))=>{if(typeof e=="object"?e!==null&&(e=a(e)):typeof e=="string"&&(e=parseFloat(e)),r)try{return e.toLocaleString(t.replace("_","-"),{style:"currency",currency:r})}catch(i){console.error(i)}const o=(r||n.get("currency_symbol"))+" ";return typeof e=="number"?o+e:""},l=m;export{s as c,l as f,a as g};
@@ -0,0 +1 @@
1
+ import"./session-utm.72684b84.js";import{_ as u}from"./preload-helper.101896b7.js";function v(d={}){const{immediate:l=!1,onNeedRefresh:g,onOfflineReady:t,onRegistered:r,onRegisteredSW:o,onRegisterError:s}=d;let i,n;const c=async(a=!0)=>{await n};async function f(){if("serviceWorker"in navigator){const{Workbox:a}=await u(()=>import("./workbox-window.prod.es5.295a6886.js"),[]);i=new a("/sw.js",{scope:"/",type:"classic"}),i.addEventListener("activated",e=>{(e.isUpdate||e.isExternal)&&window.location.reload()}),i.addEventListener("installed",e=>{e.isUpdate||t?.()}),i.register({immediate:l}).then(e=>{o?o("/sw.js",e):r?.(e)}).catch(e=>{s?.(e)})}}return n=f(),c}v({immediate:!0});
@@ -0,0 +1 @@
1
+ const t=(e,l=300)=>{typeof window.requestIdleCallback=="function"?window.requestIdleCallback(e):setTimeout(e,l)};export{t as i};
@@ -0,0 +1 @@
1
+ import{$ as U,c as E,j as b,a0 as G,a1 as X,a2 as q,h as D,q as K}from"./_plugin-vue_export-helper.6da04e63.js";var H;const L=typeof window<"u",M=e=>typeof e=="string",y=()=>{};L&&((H=window?.navigator)!=null&&H.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function _(e){return typeof e=="function"?e():U(e)}function R(e,n){function t(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(o).catch(s)})}return t}function Y(e,n={}){let t,r,o=y;const s=u=>{clearTimeout(u),o(),o=y};return u=>{const f=_(e),i=_(n.maxWait);return t&&s(t),f<=0||i!==void 0&&i<=0?(r&&(s(r),r=null),Promise.resolve(u())):new Promise((a,d)=>{o=n.rejectOnCancel?d:a,i&&!r&&(r=setTimeout(()=>{t&&s(t),r=null,a(u())},i)),t=setTimeout(()=>{r&&s(r),r=null,a(u())},f)})}}function z(e,n=!0,t=!0,r=!1){let o=0,s,l=!0,u=y,f;const i=()=>{s&&(clearTimeout(s),s=void 0,u(),u=y)};return d=>{const p=_(e),w=Date.now()-o,T=()=>f=d();if(i(),p<=0)return o=Date.now(),T();if(w>p&&(t||!l))o=Date.now(),T();else if(n)return new Promise((O,m)=>{u=r?m:O,s=setTimeout(()=>{o=Date.now(),l=!0,O(T()),i()},p-w)});return!t&&!s&&(s=setTimeout(()=>l=!0,p)),l=!1,f}}function de(e,n=!1,t="Timeout"){return new Promise((r,o)=>{setTimeout(n?()=>o(t):r,e)})}function J(e){return e}function V(e){return X()?(q(e),!0):!1}function Z(e,n=200,t={}){return R(Y(n,t),e)}function k(e,n=200,t=!1,r=!0,o=!1){return R(z(n,t,r,o),e)}function ee(e,n,t={}){const{immediate:r=!0}=t,o=b(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function u(){o.value=!1,l()}function f(...i){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...i)},_(n))}return r&&(o.value=!0,L&&f()),V(u),{isPending:G(o),start:f,stop:u}}var te=Object.defineProperty,Q=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,j=(e,n,t)=>n in e?te(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,oe=(e,n)=>{for(var t in n||(n={}))ne.call(n,t)&&j(e,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&j(e,t,n[t]);return e};function me(e=1e3,n={}){const{controls:t=!1,callback:r}=n,o=ee(r??y,e,n),s=E(()=>!o.isPending.value);return t?oe({ready:s},o):s}function se(e){var n;const t=_(e);return(n=t?.$el)!=null?n:t}const ae=L?window:void 0;function I(...e){let n,t,r,o;if(M(e[0])||Array.isArray(e[0])?([t,r,o]=e,n=ae):[n,t,r,o]=e,!n)return y;Array.isArray(t)||(t=[t]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(a=>a()),s.length=0},u=(a,d,p)=>(a.addEventListener(d,p,o),()=>a.removeEventListener(d,p,o)),f=K(()=>se(n),a=>{l(),a&&s.push(...t.flatMap(d=>r.map(p=>u(a,d,p))))},{immediate:!0,flush:"post"}),i=()=>{f(),l()};return V(i),i}const S=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},A="__vueuse_ssr_handlers__";S[A]=S[A]||{};S[A];function ve(e){const n=b(!1);return I(e,"mouseenter",()=>n.value=!0),I(e,"mouseleave",()=>n.value=!1),n}const F=1;function _e(e,n={}){const{throttle:t=0,idle:r=200,onStop:o=y,onScroll:s=y,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:f="auto"}=n,i=b(0),a=b(0),d=E({get(){return i.value},set(c){w(c,void 0)}}),p=E({get(){return a.value},set(c){w(void 0,c)}});function w(c,g){var h,v,C;const P=_(e);P&&((C=P instanceof Document?document.body:P)==null||C.scrollTo({top:(h=_(g))!=null?h:p.value,left:(v=_(c))!=null?v:d.value,behavior:_(f)}))}const T=b(!1),O=D({left:!0,right:!1,top:!0,bottom:!1}),m=D({left:!1,right:!1,top:!1,bottom:!1}),B=Z(c=>{T.value=!1,m.left=!1,m.right=!1,m.top=!1,m.bottom=!1,o(c)},t+r),x=c=>{const g=c.target===document?c.target.documentElement:c.target,h=g.scrollLeft;m.left=h<i.value,m.right=h>a.value,O.left=h<=0+(l.left||0),O.right=h+g.clientWidth>=g.scrollWidth-(l.right||0)-F,i.value=h;let v=g.scrollTop;c.target===document&&!v&&(v=document.body.scrollTop),m.top=v<a.value,m.bottom=v>a.value,O.top=v<=0+(l.top||0),O.bottom=v+g.clientHeight>=g.scrollHeight-(l.bottom||0)-F,a.value=v,T.value=!0,B(c),s(c)};return I(e,"scroll",t?k(x,t,!0,!1):x,u),{x:d,y:p,isScrolling:T,arrivedState:O,directions:m}}var N;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(N||(N={}));var le=Object.defineProperty,W=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,$=(e,n,t)=>n in e?le(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ce=(e,n)=>{for(var t in n||(n={}))ue.call(n,t)&&$(e,t,n[t]);if(W)for(var t of W(n))ie.call(n,t)&&$(e,t,n[t]);return e};const fe={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};ce({linear:J},fe);export{ve as a,Z as b,me as c,de as p,_e as u};
@@ -0,0 +1 @@
1
+ import{l as y,u as _}from"./session-utm.72684b84.js";import{i as g}from"./idle-callback.889bf0ea.js";import{h as b,c as d}from"./_plugin-vue_export-helper.6da04e63.js";import{f as v}from"./format-money.6f464cee.js";const I=(o,a,l=1e4)=>{let n,r;l&&(n=new AbortController,r=setTimeout(()=>{n.abort()},l)),a?.body&&typeof a.body=="object"&&(a.body=JSON.stringify(a.body),a.headers={...a.headers,"Content-Type":"application/json","Content-Length":a.body.length.toString()});const i=fetch(o,{...a,signal:n?.signal});return i.finally(()=>{r&&clearTimeout(r)}),i},O={list_payments:{},calculate_shipping:{},apply_discount:{}},p=b(O);y.then(o=>{Object.assign(p,o)});{const o="MODULES_INFO",a=sessionStorage.getItem(o);if(a)try{const n=JSON.parse(a);n.__timestamp>=Date.now()-1e3*60*5?(delete n.__timestamp,Object.assign(p,n)):sessionStorage.removeItem(o)}catch{sessionStorage.removeItem(o)}g(()=>{const n=[];["list_payments","calculate_shipping"].forEach(r=>{Object.keys(p[r]).length||n.push({modName:r})}),Object.keys(_).length&&n.push({modName:"apply_discount",reqOptions:{method:"post",body:{utm:_}}}),n.forEach(({modName:r,reqOptions:i})=>{I(`/api/modules/${r}`,i).then(async f=>{if(f.ok){const s={};p[r]=s;const{result:u}=await f.json();Array.isArray(u)&&u.forEach(({error:h,response:c})=>{if(!h){let e,t;switch(r){case"calculate_shipping":e="free_shipping_from_value",t=c[e],typeof t=="number"&&(s[e]===void 0||t<s[e])&&(s[e]=t);break;case"list_payments":e="installments_option",t=c[e],t&&(!s[e]||t.monthly_interest<s[e].monthly_interest||t.max_number>s[e].max_number)&&(s[e]=t),e="discount_option",t=c[e],t&&(!s[e]||t.value>s[e].value)&&c.payment_gateways.forEach(({discount:m})=>{m&&m.apply_at!=="freight"&&m.value===t.value&&(s[e]={apply_at:m.apply_at,...t})}),e="loyalty_points_programs",t=c[e],t&&(s[e]={...s[e],...t});break;default:e="available_extra_discount",t=c[e],t&&(!s[e]||t.value>s[e].value)&&(s[e]=t)}}}),sessionStorage.setItem(o,JSON.stringify({...p,__timestamp:Date.now()}))}}).catch(console.error)})})}const S=(o,a,l,n=v)=>d(()=>{const r=`{${l}}`,i=o.indexOf(r);if(i>-1){const f=p[a][l];if(f){const s=n(f);return o.substring(0,i)+s+o.substring(i+r.length)}return""}return o}),C=o=>S(o,"calculate_shipping","free_shipping_from_value");export{p as m,C as p};
@@ -0,0 +1 @@
1
+ const h="modulepreload",m=function(l){return"/"+l},a={},k=function(o,i,u){if(!i||i.length===0)return o();const c=document.getElementsByTagName("link");return Promise.all(i.map(e=>{if(e=m(e),e in a)return;a[e]=!0;const n=e.endsWith(".css"),f=n?'[rel="stylesheet"]':"";if(!!u)for(let r=c.length-1;r>=0;r--){const s=c[r];if(s.href===e&&(!n||s.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${e}"]${f}`))return;const t=document.createElement("link");if(t.rel=n?"stylesheet":h,n||(t.as="script",t.crossOrigin=""),t.href=e,document.head.appendChild(t),n)return new Promise((r,s)=>{t.addEventListener("load",r),t.addEventListener("error",()=>s(new Error(`Unable to preload CSS for ${e}`)))})})).then(()=>o())};export{k as _};
@@ -1 +1 @@
1
- import{C as nt,D as _,E as ht,G as st,H as x,I as bt,J as Ct,K as St,L as w,M as vt,N as Et,s as Tt,O as At,P as Nt,F as Lt,S as _t,Q as wt,R as yt,T as rt,U as Mt,V as Pt,W as Dt,X as it,Y as It}from"./_plugin-vue_export-helper.e6f0b936.js";const Ot="http://www.w3.org/2000/svg",v=typeof document<"u"?document:null,U=v&&v.createElement("template"),$t={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const r=e?v.createElementNS(Ot,t):v.createElement(t,n?{is:n}:void 0);return t==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:t=>v.createTextNode(t),createComment:t=>v.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>v.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,r,i){const a=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{U.innerHTML=s?`<svg>${t}</svg>`:t;const f=U.content;if(s){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}e.insertBefore(f,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function xt(t,e,n){const s=t._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function Bt(t,e,n){const s=t.style,r=_(n);if(n&&!r){if(e&&!_(e))for(const i in e)n[i]==null&&I(s,i,"");for(const i in n)I(s,i,n[i])}else{const i=s.display;r?e!==n&&(s.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(s.display=i)}}const j=/\s*!important$/;function I(t,e,n){if(w(n))n.forEach(s=>I(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=Rt(t,e);j.test(n)?t.setProperty(rt(s),n.replace(j,""),"important"):t[s]=n}}const G=["Webkit","Moz","ms"],M={};function Rt(t,e){const n=M[e];if(n)return n;let s=Mt(e);if(s!=="filter"&&s in t)return M[e]=s;s=Pt(s);for(let r=0;r<G.length;r++){const i=G[r]+s;if(i in t)return M[e]=i}return e}const X="http://www.w3.org/1999/xlink";function Ft(t,e,n,s,r){if(s&&e.startsWith("xlink:"))n==null?t.removeAttributeNS(X,e.slice(6,e.length)):t.setAttributeNS(X,e,n);else{const i=Dt(e);n==null||i&&!it(n)?t.removeAttribute(e):t.setAttribute(e,i?"":n)}}function Ht(t,e,n,s,r,i,a){if(e==="innerHTML"||e==="textContent"){s&&a(s,r,i),t[e]=n??"";return}if(e==="value"&&t.tagName!=="PROGRESS"&&!t.tagName.includes("-")){t._value=n;const c=n??"";(t.value!==c||t.tagName==="OPTION")&&(t.value=c),n==null&&t.removeAttribute(e);return}let f=!1;if(n===""||n==null){const c=typeof t[e];c==="boolean"?n=it(n):n==null&&c==="string"?(n="",f=!0):c==="number"&&(n=0,f=!0)}try{t[e]=n}catch{}f&&t.removeAttribute(e)}function zt(t,e,n,s){t.addEventListener(e,n,s)}function qt(t,e,n,s){t.removeEventListener(e,n,s)}function Kt(t,e,n,s,r=null){const i=t._vei||(t._vei={}),a=i[e];if(s&&a)a.value=s;else{const[f,c]=Wt(e);if(s){const p=i[e]=Gt(s,r);zt(t,f,p,c)}else a&&(qt(t,f,a,c),i[e]=void 0)}}const J=/(?:Once|Passive|Capture)$/;function Wt(t){let e;if(J.test(t)){e={};let s;for(;s=t.match(J);)t=t.slice(0,t.length-s[0].length),e[s[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):rt(t.slice(2)),e]}let P=0;const Ut=Promise.resolve(),jt=()=>P||(Ut.then(()=>P=0),P=Date.now());function Gt(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;It(Xt(s,n.value),e,5,[s])};return n.value=t,n.attached=jt(),n}function Xt(t,e){if(w(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const Q=/^on[a-z]/,Jt=(t,e,n,s,r=!1,i,a,f,c)=>{e==="class"?xt(t,s,r):e==="style"?Bt(t,n,s):wt(e)?yt(e)||Kt(t,e,n,s,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Qt(t,e,s,r))?Ht(t,e,s,i,a,f,c):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),Ft(t,e,s,r))};function Qt(t,e,n,s){return s?!!(e==="innerHTML"||e==="textContent"||e in t&&Q.test(e)&&nt(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||Q.test(e)&&_(n)?!1:e in t}function oe(t){const e=Nt();if(!e)return;const n=e.ut=(r=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(i=>$(i,r))},s=()=>{const r=t(e.proxy);O(e.subTree,r),n(r)};Et(s),Tt(()=>{const r=new MutationObserver(s);r.observe(e.subTree.el.parentNode,{childList:!0}),At(()=>r.disconnect())})}function O(t,e){if(t.shapeFlag&128){const n=t.suspense;t=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{O(n.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(t.shapeFlag&1&&t.el)$(t.el,e);else if(t.type===Lt)t.children.forEach(n=>O(n,e));else if(t.type===_t){let{el:n,anchor:s}=t;for(;n&&($(n,e),n!==s);)n=n.nextSibling}}function $(t,e){if(t.nodeType===1){const n=t.style;for(const s in e)n.setProperty(`--${s}`,e[s])}}const g="transition",A="animation",ot=(t,{slots:e})=>ht(st,Yt(t),e);ot.displayName="Transition";const at={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ot.props=x({},st.props,at);const C=(t,e=[])=>{w(t)?t.forEach(n=>n(...e)):t&&t(...e)},Y=t=>t?w(t)?t.some(e=>e.length>1):t.length>1:!1;function Yt(t){const e={};for(const o in t)o in at||(e[o]=t[o]);if(t.css===!1)return e;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:p=a,appearToClass:l=f,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=t,T=Vt(r),lt=T&&T[0],ut=T&&T[1],{onBeforeEnter:B,onEnter:R,onEnterCancelled:F,onLeave:H,onLeaveCancelled:pt,onBeforeAppear:dt=B,onAppear:mt=R,onAppearCancelled:gt=F}=e,y=(o,u,b)=>{S(o,u?l:f),S(o,u?p:a),b&&b()},z=(o,u)=>{o._isLeaving=!1,S(o,d),S(o,E),S(o,m),u&&u()},q=o=>(u,b)=>{const K=o?mt:R,W=()=>y(u,o,b);C(K,[u,W]),V(()=>{S(u,o?c:i),h(u,o?l:f),Y(K)||Z(u,s,lt,W)})};return x(e,{onBeforeEnter(o){C(B,[o]),h(o,i),h(o,a)},onBeforeAppear(o){C(dt,[o]),h(o,c),h(o,p)},onEnter:q(!1),onAppear:q(!0),onLeave(o,u){o._isLeaving=!0;const b=()=>z(o,u);h(o,d),te(),h(o,m),V(()=>{o._isLeaving&&(S(o,d),h(o,E),Y(H)||Z(o,s,ut,b))}),C(H,[o,b])},onEnterCancelled(o){y(o,!1),C(F,[o])},onAppearCancelled(o){y(o,!0),C(gt,[o])},onLeaveCancelled(o){z(o),C(pt,[o])}})}function Vt(t){if(t==null)return null;if(bt(t))return[D(t.enter),D(t.leave)];{const e=D(t);return[e,e]}}function D(t){return vt(t)}function h(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function S(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.remove(s));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function V(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Zt=0;function Z(t,e,n,s){const r=t._endId=++Zt,i=()=>{r===t._endId&&s()};if(n)return setTimeout(i,n);const{type:a,timeout:f,propCount:c}=kt(t,e);if(!a)return s();const p=a+"end";let l=0;const d=()=>{t.removeEventListener(p,m),i()},m=E=>{E.target===t&&++l>=c&&d()};setTimeout(()=>{l<c&&d()},f+1),t.addEventListener(p,m)}function kt(t,e){const n=window.getComputedStyle(t),s=T=>(n[T]||"").split(", "),r=s(`${g}Delay`),i=s(`${g}Duration`),a=k(r,i),f=s(`${A}Delay`),c=s(`${A}Duration`),p=k(f,c);let l=null,d=0,m=0;e===g?a>0&&(l=g,d=a,m=i.length):e===A?p>0&&(l=A,d=p,m=c.length):(d=Math.max(a,p),l=d>0?a>p?g:A:null,m=l?l===g?i.length:c.length:0);const E=l===g&&/\b(transform|all)(,|$)/.test(s(`${g}Property`).toString());return{type:l,timeout:d,propCount:m,hasTransform:E}}function k(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,s)=>tt(n)+tt(t[s])))}function tt(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function te(){return document.body.offsetHeight}const ee=["ctrl","shift","alt","meta"],ne={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>ee.some(n=>t[`${n}Key`]&&!e.includes(n))},ae=(t,e)=>(n,...s)=>{for(let r=0;r<e.length;r++){const i=ne[e[r]];if(i&&i(n,e))return}return t(n,...s)},ce={beforeMount(t,{value:e},{transition:n}){t._vod=t.style.display==="none"?"":t.style.display,n&&e?n.beforeEnter(t):N(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:s}){!e!=!n&&(s?e?(s.beforeEnter(t),N(t,!0),s.enter(t)):s.leave(t,()=>{N(t,!1)}):N(t,e))},beforeUnmount(t,{value:e}){N(t,e)}};function N(t,e){t.style.display=e?t._vod:"none"}const ct=x({patchProp:Jt},$t);let L,et=!1;function se(){return L||(L=Ct(ct))}function re(){return L=et?L:St(ct),et=!0,L}const fe=(...t)=>{const e=se().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(!r)return;const i=e._component;!nt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},le=(...t)=>{const e=re().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(r)return n(r,!0,r instanceof SVGElement)},e};function ft(t){return _(t)?document.querySelector(t):t}export{ot as T,le as a,fe as c,oe as u,ce as v,ae as w};
1
+ import{D as nt,E as _,G as ht,H as st,I as x,J as bt,K as Ct,L as St,M as w,N as vt,O as Et,u as Tt,P as At,Q as Nt,F as Lt,S as _t,R as wt,T as yt,U as rt,V as Mt,W as Pt,X as Dt,Y as it,Z as It}from"./_plugin-vue_export-helper.6da04e63.js";const Ot="http://www.w3.org/2000/svg",v=typeof document<"u"?document:null,U=v&&v.createElement("template"),$t={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const r=e?v.createElementNS(Ot,t):v.createElement(t,n?{is:n}:void 0);return t==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:t=>v.createTextNode(t),createComment:t=>v.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>v.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,r,i){const a=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{U.innerHTML=s?`<svg>${t}</svg>`:t;const f=U.content;if(s){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}e.insertBefore(f,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function xt(t,e,n){const s=t._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function Bt(t,e,n){const s=t.style,r=_(n);if(n&&!r){if(e&&!_(e))for(const i in e)n[i]==null&&I(s,i,"");for(const i in n)I(s,i,n[i])}else{const i=s.display;r?e!==n&&(s.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(s.display=i)}}const j=/\s*!important$/;function I(t,e,n){if(w(n))n.forEach(s=>I(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=Rt(t,e);j.test(n)?t.setProperty(rt(s),n.replace(j,""),"important"):t[s]=n}}const G=["Webkit","Moz","ms"],M={};function Rt(t,e){const n=M[e];if(n)return n;let s=Mt(e);if(s!=="filter"&&s in t)return M[e]=s;s=Pt(s);for(let r=0;r<G.length;r++){const i=G[r]+s;if(i in t)return M[e]=i}return e}const X="http://www.w3.org/1999/xlink";function Ft(t,e,n,s,r){if(s&&e.startsWith("xlink:"))n==null?t.removeAttributeNS(X,e.slice(6,e.length)):t.setAttributeNS(X,e,n);else{const i=Dt(e);n==null||i&&!it(n)?t.removeAttribute(e):t.setAttribute(e,i?"":n)}}function Ht(t,e,n,s,r,i,a){if(e==="innerHTML"||e==="textContent"){s&&a(s,r,i),t[e]=n??"";return}if(e==="value"&&t.tagName!=="PROGRESS"&&!t.tagName.includes("-")){t._value=n;const c=n??"";(t.value!==c||t.tagName==="OPTION")&&(t.value=c),n==null&&t.removeAttribute(e);return}let f=!1;if(n===""||n==null){const c=typeof t[e];c==="boolean"?n=it(n):n==null&&c==="string"?(n="",f=!0):c==="number"&&(n=0,f=!0)}try{t[e]=n}catch{}f&&t.removeAttribute(e)}function zt(t,e,n,s){t.addEventListener(e,n,s)}function qt(t,e,n,s){t.removeEventListener(e,n,s)}function Kt(t,e,n,s,r=null){const i=t._vei||(t._vei={}),a=i[e];if(s&&a)a.value=s;else{const[f,c]=Wt(e);if(s){const p=i[e]=Gt(s,r);zt(t,f,p,c)}else a&&(qt(t,f,a,c),i[e]=void 0)}}const J=/(?:Once|Passive|Capture)$/;function Wt(t){let e;if(J.test(t)){e={};let s;for(;s=t.match(J);)t=t.slice(0,t.length-s[0].length),e[s[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):rt(t.slice(2)),e]}let P=0;const Ut=Promise.resolve(),jt=()=>P||(Ut.then(()=>P=0),P=Date.now());function Gt(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;It(Xt(s,n.value),e,5,[s])};return n.value=t,n.attached=jt(),n}function Xt(t,e){if(w(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const Q=/^on[a-z]/,Jt=(t,e,n,s,r=!1,i,a,f,c)=>{e==="class"?xt(t,s,r):e==="style"?Bt(t,n,s):wt(e)?yt(e)||Kt(t,e,n,s,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Qt(t,e,s,r))?Ht(t,e,s,i,a,f,c):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),Ft(t,e,s,r))};function Qt(t,e,n,s){return s?!!(e==="innerHTML"||e==="textContent"||e in t&&Q.test(e)&&nt(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||Q.test(e)&&_(n)?!1:e in t}function oe(t){const e=Nt();if(!e)return;const n=e.ut=(r=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(i=>$(i,r))},s=()=>{const r=t(e.proxy);O(e.subTree,r),n(r)};Et(s),Tt(()=>{const r=new MutationObserver(s);r.observe(e.subTree.el.parentNode,{childList:!0}),At(()=>r.disconnect())})}function O(t,e){if(t.shapeFlag&128){const n=t.suspense;t=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{O(n.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(t.shapeFlag&1&&t.el)$(t.el,e);else if(t.type===Lt)t.children.forEach(n=>O(n,e));else if(t.type===_t){let{el:n,anchor:s}=t;for(;n&&($(n,e),n!==s);)n=n.nextSibling}}function $(t,e){if(t.nodeType===1){const n=t.style;for(const s in e)n.setProperty(`--${s}`,e[s])}}const g="transition",A="animation",ot=(t,{slots:e})=>ht(st,Yt(t),e);ot.displayName="Transition";const at={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ot.props=x({},st.props,at);const C=(t,e=[])=>{w(t)?t.forEach(n=>n(...e)):t&&t(...e)},Y=t=>t?w(t)?t.some(e=>e.length>1):t.length>1:!1;function Yt(t){const e={};for(const o in t)o in at||(e[o]=t[o]);if(t.css===!1)return e;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:p=a,appearToClass:l=f,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=t,T=Zt(r),lt=T&&T[0],ut=T&&T[1],{onBeforeEnter:B,onEnter:R,onEnterCancelled:F,onLeave:H,onLeaveCancelled:pt,onBeforeAppear:dt=B,onAppear:mt=R,onAppearCancelled:gt=F}=e,y=(o,u,b)=>{S(o,u?l:f),S(o,u?p:a),b&&b()},z=(o,u)=>{o._isLeaving=!1,S(o,d),S(o,E),S(o,m),u&&u()},q=o=>(u,b)=>{const K=o?mt:R,W=()=>y(u,o,b);C(K,[u,W]),Z(()=>{S(u,o?c:i),h(u,o?l:f),Y(K)||V(u,s,lt,W)})};return x(e,{onBeforeEnter(o){C(B,[o]),h(o,i),h(o,a)},onBeforeAppear(o){C(dt,[o]),h(o,c),h(o,p)},onEnter:q(!1),onAppear:q(!0),onLeave(o,u){o._isLeaving=!0;const b=()=>z(o,u);h(o,d),te(),h(o,m),Z(()=>{o._isLeaving&&(S(o,d),h(o,E),Y(H)||V(o,s,ut,b))}),C(H,[o,b])},onEnterCancelled(o){y(o,!1),C(F,[o])},onAppearCancelled(o){y(o,!0),C(gt,[o])},onLeaveCancelled(o){z(o),C(pt,[o])}})}function Zt(t){if(t==null)return null;if(bt(t))return[D(t.enter),D(t.leave)];{const e=D(t);return[e,e]}}function D(t){return vt(t)}function h(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function S(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.remove(s));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Z(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Vt=0;function V(t,e,n,s){const r=t._endId=++Vt,i=()=>{r===t._endId&&s()};if(n)return setTimeout(i,n);const{type:a,timeout:f,propCount:c}=kt(t,e);if(!a)return s();const p=a+"end";let l=0;const d=()=>{t.removeEventListener(p,m),i()},m=E=>{E.target===t&&++l>=c&&d()};setTimeout(()=>{l<c&&d()},f+1),t.addEventListener(p,m)}function kt(t,e){const n=window.getComputedStyle(t),s=T=>(n[T]||"").split(", "),r=s(`${g}Delay`),i=s(`${g}Duration`),a=k(r,i),f=s(`${A}Delay`),c=s(`${A}Duration`),p=k(f,c);let l=null,d=0,m=0;e===g?a>0&&(l=g,d=a,m=i.length):e===A?p>0&&(l=A,d=p,m=c.length):(d=Math.max(a,p),l=d>0?a>p?g:A:null,m=l?l===g?i.length:c.length:0);const E=l===g&&/\b(transform|all)(,|$)/.test(s(`${g}Property`).toString());return{type:l,timeout:d,propCount:m,hasTransform:E}}function k(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,s)=>tt(n)+tt(t[s])))}function tt(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function te(){return document.body.offsetHeight}const ee=["ctrl","shift","alt","meta"],ne={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>ee.some(n=>t[`${n}Key`]&&!e.includes(n))},ae=(t,e)=>(n,...s)=>{for(let r=0;r<e.length;r++){const i=ne[e[r]];if(i&&i(n,e))return}return t(n,...s)},ce={beforeMount(t,{value:e},{transition:n}){t._vod=t.style.display==="none"?"":t.style.display,n&&e?n.beforeEnter(t):N(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:s}){!e!=!n&&(s?e?(s.beforeEnter(t),N(t,!0),s.enter(t)):s.leave(t,()=>{N(t,!1)}):N(t,e))},beforeUnmount(t,{value:e}){N(t,e)}};function N(t,e){t.style.display=e?t._vod:"none"}const ct=x({patchProp:Jt},$t);let L,et=!1;function se(){return L||(L=Ct(ct))}function re(){return L=et?L:St(ct),et=!0,L}const fe=(...t)=>{const e=se().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(!r)return;const i=e._component;!nt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},le=(...t)=>{const e=re().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(r)return n(r,!0,r instanceof SVGElement)},e};function ft(t){return _(t)?document.querySelector(t):t}export{ot as T,le as a,fe as c,oe as u,ce as v,ae as w};
@@ -48,16 +48,16 @@ window.storefront = {"settings":{"domain":"ecom2-002.web.app","name":"My Shop","
48
48
  measurementId: 'G-SC592CE0GB',
49
49
  };
50
50
  </script>
51
- <link rel="stylesheet" href="/_astro/_...slug_.648728f3.css" /><script type="module" src="/_astro/hoisted.6edd7364.js"></script></head>
51
+ <link rel="stylesheet" href="/_astro/_...slug_.6721f699.css" /><script type="module" src="/_astro/hoisted.721ad75d.js"></script></head>
52
52
  <body>
53
53
  <div id="teleported-overlap" class="relative z-50"></div>
54
54
  <div id="teleported-top" class="relative z-0"></div>
55
55
  <style>astro-island,astro-slot{display:contents}</style><script>(self.Astro=self.Astro||{}).idle=t=>{const e=async()=>{await(await t())()};"requestIdleCallback"in window?window.requestIdleCallback(e):setTimeout(e,200)},window.dispatchEvent(new Event("astro:idle"));var l;{const c={0:t=>t,1:t=>JSON.parse(t,o),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(JSON.parse(t,o)),5:t=>new Set(JSON.parse(t,o)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(JSON.parse(t)),9:t=>new Uint16Array(JSON.parse(t)),10:t=>new Uint32Array(JSON.parse(t))},o=(t,s)=>{if(t===""||!Array.isArray(s))return s;const[e,n]=s;return e in c?c[e](n):void 0};customElements.get("astro-island")||customElements.define("astro-island",(l=class extends HTMLElement{constructor(){super(...arguments);this.hydrate=()=>{if(!this.hydrator||this.parentElement&&this.parentElement.closest("astro-island[ssr]"))return;const s=this.querySelectorAll("astro-slot"),e={},n=this.querySelectorAll("template[data-astro-template]");for(const r of n){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(const r of s){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("name")||"default"]=r.innerHTML)}const a=this.hasAttribute("props")?JSON.parse(this.getAttribute("props"),o):{};this.hydrator(this)(this.Component,a,e,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),window.removeEventListener("astro:hydrate",this.hydrate),window.dispatchEvent(new CustomEvent("astro:hydrate"))}}connectedCallback(){!this.hasAttribute("await-children")||this.firstChild?this.childrenConnectedCallback():new MutationObserver((s,e)=>{e.disconnect(),this.childrenConnectedCallback()}).observe(this,{childList:!0})}async childrenConnectedCallback(){window.addEventListener("astro:hydrate",this.hydrate);let s=this.getAttribute("before-hydration-url");s&&await import(s),this.start()}start(){const s=JSON.parse(this.getAttribute("opts")),e=this.getAttribute("client");if(Astro[e]===void 0){window.addEventListener(`astro:${e}`,()=>this.start(),{once:!0});return}Astro[e](async()=>{const n=this.getAttribute("renderer-url"),[a,{default:r}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),i=this.getAttribute("component-export")||"default";if(!i.includes("."))this.Component=a[i];else{this.Component=a;for(const d of i.split("."))this.Component=this.Component[d]}return this.hydrator=r,this.hydrate},s,this)}attributeChangedCallback(){this.hydrator&&this.hydrate()}},l.observedAttributes=["props"],l))}</script><script>(self.Astro=self.Astro||{}).load=a=>{(async()=>await(await a())())()},window.dispatchEvent(new Event("astro:load"));</script>
56
56
 
57
- <astro-island uid="ZKwAT3" component-url="/_astro/PitchBar.df2672ff.js" component-export="default" renderer-url="/_astro/client.e6b58b55.js" props="{&quot;slides&quot;:[1,&quot;[[0,{\&quot;href\&quot;:[0,\&quot;/promotion\&quot;],\&quot;html\&quot;:[0,\&quot;Aproveite nossos descontos de até 50%!\&quot;]}],[0,{\&quot;href\&quot;:[0,\&quot;\&quot;],\&quot;html\&quot;:[0,\&quot;&lt;b&gt;Frete grátis&lt;/b&gt; &lt;d-md&gt;para todo Brasil&lt;/d-md&gt; a partir de {free_shipping_from_value}\&quot;]}]]&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;PitchBar&quot;,&quot;value&quot;:true}" await-children=""><div class="bg-base-100 relative z-1"><div class="container md:w-2/3 mx-auto px-3 py-1"><div data-carousel><ul data-carousel-wrapper><!--[--><!--[--><li><a href="/promotion" class="inline-block px-8 hover:underline"><!--[--><span class="prose text-sm text-base-800">Aproveite nossos descontos de até 50%!</span><!--]--></a></li><li><span href class="inline-block px-8"><span class="prose text-sm text-base-800"><b>Frete grátis</b> <d-md>para todo Brasil</d-md> a partir de R$ 150,00</span></span></li><!--]--><!--]--></ul><!--[--><div style="" class="text-xl leading-none text-base-400"><button type="button" aria-label="Anterior" data-carousel-control="previous" class="pr-2 bg-base-100 hover:text-base-700"><!--[--><i class="i-chevron-left m-0"></i><!--]--></button><button type="button" aria-label="Próximo" data-carousel-control="next" class="pl-2 bg-base-100 hover:text-base-700"><!--[--><i class="i-chevron-right m-0"></i><!--]--></button></div><!--]--></div></div></div></astro-island>
57
+ <astro-island uid="27Suhl" component-url="/_astro/PitchBar.457658a3.js" component-export="default" renderer-url="/_astro/client.b854166f.js" props="{&quot;slides&quot;:[1,&quot;[[0,{\&quot;href\&quot;:[0,\&quot;/promotion\&quot;],\&quot;html\&quot;:[0,\&quot;Aproveite nossos descontos de até 50%!\&quot;]}],[0,{\&quot;href\&quot;:[0,\&quot;\&quot;],\&quot;html\&quot;:[0,\&quot;&lt;b&gt;Frete grátis&lt;/b&gt; &lt;d-md&gt;para todo Brasil&lt;/d-md&gt; a partir de {free_shipping_from_value}\&quot;]}]]&quot;]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;PitchBar&quot;,&quot;value&quot;:true}" await-children=""><div class="bg-base-100 relative z-1"><div class="container md:w-2/3 mx-auto px-3 py-1"><div data-carousel><ul data-carousel-wrapper><!--[--><!--[--><li><a href="/promotion" target="_blank" rel="noopener" class="inline-block px-8 hover:underline"><!--[--><span class="prose text-sm text-base-800">Aproveite nossos descontos de até 50%!</span><!--]--></a></li><li><span href class="inline-block px-8"><span class="prose text-sm text-base-800"><b>Frete grátis</b> <d-md>para todo Brasil</d-md> a partir de R$ 150,00</span></span></li><!--]--><!--]--></ul><!--[--><div style="" class="text-xl leading-none text-base-400"><button type="button" aria-label="Anterior" data-carousel-control="previous" class="pr-2 bg-base-100 hover:text-base-700"><!--[--><i class="i-chevron-left m-0"></i><!--]--></button><button type="button" aria-label="Próximo" data-carousel-control="next" class="pl-2 bg-base-100 hover:text-base-700"><!--[--><i class="i-chevron-right m-0"></i><!--]--></button></div><!--]--></div></div></div></astro-island>
58
58
 
59
59
 
60
- <astro-island uid="1nUgFU" component-url="/_astro/ShopHeader.abd6dec6.js" component-export="default" renderer-url="/_astro/client.e6b58b55.js" props="{&quot;categories&quot;:[1,&quot;[[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007322374-rect836.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:51:06.863Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:51:06.863Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa2ac626be23430d4f50\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores Gamer\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-gamer\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-07-15T23:29:10.192Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa45c626be23430d4f52\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores Convencionais\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-convencionais\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-08-17T18:42:54.920Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa5bc626be23430d4f54\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores TV\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-tv\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T13:34:19.659Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007351112-comp.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:51:51.039Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:51:51.039Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa8cc626be23430d4f58\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks gamers\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;]}],\&quot;slug\&quot;:[0,\&quot;notebooks-gamers\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T13:35:08.093Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffab6c626be23430d4f5c\&quot;],\&quot;name\&quot;:[0,\&quot;MacBook\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5d5714045753286eadbbdc77\&quot;],\&quot;name\&quot;:[0,\&quot;Ultrabook\&quot;],\&quot;slug\&quot;:[0,\&quot;ultrabook\&quot;]}],\&quot;slug\&quot;:[0,\&quot;macbook\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1566932713325-macbook.jfif\&quot;],\&quot;size\&quot;:[0,\&quot;233x216\&quot;],\&quot;alt\&quot;:[0,\&quot;macbook\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-27T19:07:35.157Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-27T19:07:35.157Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007328003-keyb.png\&quot;]}],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701cb1c626be23430d4fe9\&quot;],\&quot;name\&quot;:[0,\&quot;Físicos\&quot;],\&quot;slug\&quot;:[0,\&quot;fisicos\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2020-09-04T21:48:44.261Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-09-04T21:48:44.261Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c7009fdc626be23430d4f82\&quot;],\&quot;name\&quot;:[0,\&quot;Teclados\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;teclados\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:01.323Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a11c626be23430d4f84\&quot;],\&quot;name\&quot;:[0,\&quot;Mouses\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;mouses\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:21.566Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a37c626be23430d4f86\&quot;],\&quot;name\&quot;:[0,\&quot;Caixas de Som\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;caixas-de-som\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:59.607Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a53c626be23430d4f88\&quot;],\&quot;name\&quot;:[0,\&quot;Headset\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;headset\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:42:27.608Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a6bc626be23430d4f8a\&quot;],\&quot;name\&quot;:[0,\&quot;Cadeira Gamer\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;cadeira-gamer\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:42:51.330Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a9cc626be23430d4f8c\&quot;],\&quot;name\&quot;:[0,\&quot;Smartphones\&quot;],\&quot;slug\&quot;:[0,\&quot;smartphones\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007321218-smartphone.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:52:17.995Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:52:17.995Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007332353-game.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2020-07-24T19:14:01.592Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-07-24T19:14:01.592Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701cb1c626be23430d4fe9\&quot;],\&quot;name\&quot;:[0,\&quot;Físicos\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;fisicos\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:00:49.671Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701cc6c626be23430d4feb\&quot;],\&quot;name\&quot;:[0,\&quot;Digitais\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;digitais\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:01:10.358Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701ce2c626be23430d4fed\&quot;],\&quot;name\&quot;:[0,\&quot;Usados\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;usados\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:01:38.850Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5ceecb3f887ef430f1f70c88\&quot;],\&quot;name\&quot;:[0,\&quot;Promoções\&quot;],\&quot;slug\&quot;:[0,\&quot;promocoes\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007326827-mony.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:52:41.385Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:52:41.385Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5d5714045753286eadbbdc77\&quot;],\&quot;name\&quot;:[0,\&quot;Ultrabook\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;]}],\&quot;slug\&quot;:[0,\&quot;ultrabook\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-16T20:37:24.811Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5f70f1417430f92180f5ba66\&quot;],\&quot;name\&quot;:[0,\&quot;Brasileiro\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-09-27T20:08:33.202Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5fb2b13b69274c73fcd6a051\&quot;],\&quot;name\&quot;:[0,\&quot;smartwatch\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-11-16T17:04:59.320Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;60199592d6981740b4a030f4\&quot;],\&quot;name\&quot;:[0,\&quot;São Paulo\&quot;],\&quot;slug\&quot;:[0,\&quot;sao-paulo\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-08-17T18:43:10.174Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;61de099d0c7c72722502397b\&quot;],\&quot;name\&quot;:[0,\&quot;MacBook Pro\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-01-11T22:50:05.070Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;61de12450c7c727225025299\&quot;],\&quot;name\&quot;:[0,\&quot;Mac Stop\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-01-11T23:27:01.790Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;6227a90a7963422eee367aaa\&quot;],\&quot;name\&quot;:[0,\&quot;capinhas\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-03-08T19:05:46.688Z\&quot;]}]]&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;ShopHeader&quot;,&quot;value&quot;:true}" await-children=""><header class="top-0 z-50 transition-colors bg-white py-3 sm:py-4 md:py-5"><div class="container lg:max-w-7xl mx-auto px-1 lg:pl-3 grid grid-flow-col grid-cols-3 justify-between items-center md:grid-cols-none md:auto-cols-max"><div class="md:hidden"><button class="px-2 my-1" aria-label="Abrir/fechar menu"><i class="i-menu text-base-500 text-3xl"></i></button></div><!--[--><astro-slot name="logo">
60
+ <astro-island uid="1nUgFU" component-url="/_astro/ShopHeader.0a6766ac.js" component-export="default" renderer-url="/_astro/client.b854166f.js" props="{&quot;categories&quot;:[1,&quot;[[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007322374-rect836.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:51:06.863Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:51:06.863Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa2ac626be23430d4f50\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores Gamer\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-gamer\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-07-15T23:29:10.192Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa45c626be23430d4f52\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores Convencionais\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-convencionais\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-08-17T18:42:54.920Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa5bc626be23430d4f54\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores TV\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa18c626be23430d4f4e\&quot;],\&quot;name\&quot;:[0,\&quot;Monitores\&quot;],\&quot;slug\&quot;:[0,\&quot;monitores\&quot;]}],\&quot;slug\&quot;:[0,\&quot;monitores-tv\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T13:34:19.659Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007351112-comp.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:51:51.039Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:51:51.039Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa8cc626be23430d4f58\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks gamers\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;]}],\&quot;slug\&quot;:[0,\&quot;notebooks-gamers\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T13:35:08.093Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffab6c626be23430d4f5c\&quot;],\&quot;name\&quot;:[0,\&quot;MacBook\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5d5714045753286eadbbdc77\&quot;],\&quot;name\&quot;:[0,\&quot;Ultrabook\&quot;],\&quot;slug\&quot;:[0,\&quot;ultrabook\&quot;]}],\&quot;slug\&quot;:[0,\&quot;macbook\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1566932713325-macbook.jfif\&quot;],\&quot;size\&quot;:[0,\&quot;233x216\&quot;],\&quot;alt\&quot;:[0,\&quot;macbook\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-27T19:07:35.157Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-27T19:07:35.157Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007328003-keyb.png\&quot;]}],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701cb1c626be23430d4fe9\&quot;],\&quot;name\&quot;:[0,\&quot;Físicos\&quot;],\&quot;slug\&quot;:[0,\&quot;fisicos\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2020-09-04T21:48:44.261Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-09-04T21:48:44.261Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c7009fdc626be23430d4f82\&quot;],\&quot;name\&quot;:[0,\&quot;Teclados\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;teclados\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:01.323Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a11c626be23430d4f84\&quot;],\&quot;name\&quot;:[0,\&quot;Mouses\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;mouses\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:21.566Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a37c626be23430d4f86\&quot;],\&quot;name\&quot;:[0,\&quot;Caixas de Som\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;caixas-de-som\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:41:59.607Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a53c626be23430d4f88\&quot;],\&quot;name\&quot;:[0,\&quot;Headset\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;headset\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:42:27.608Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a6bc626be23430d4f8a\&quot;],\&quot;name\&quot;:[0,\&quot;Cadeira Gamer\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c7009bec626be23430d4f80\&quot;],\&quot;name\&quot;:[0,\&quot;Periféricos\&quot;],\&quot;slug\&quot;:[0,\&quot;perifericos\&quot;]}],\&quot;slug\&quot;:[0,\&quot;cadeira-gamer\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T14:42:51.330Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c700a9cc626be23430d4f8c\&quot;],\&quot;name\&quot;:[0,\&quot;Smartphones\&quot;],\&quot;slug\&quot;:[0,\&quot;smartphones\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007321218-smartphone.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:52:17.995Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:52:17.995Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007332353-game.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2020-07-24T19:14:01.592Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-07-24T19:14:01.592Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701cb1c626be23430d4fe9\&quot;],\&quot;name\&quot;:[0,\&quot;Físicos\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;fisicos\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:00:49.671Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701cc6c626be23430d4feb\&quot;],\&quot;name\&quot;:[0,\&quot;Digitais\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;digitais\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:01:10.358Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5c701ce2c626be23430d4fed\&quot;],\&quot;name\&quot;:[0,\&quot;Usados\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c701c9ec626be23430d4fe7\&quot;],\&quot;name\&quot;:[0,\&quot;Jogo\&quot;],\&quot;slug\&quot;:[0,\&quot;jogos/\&quot;]}],\&quot;slug\&quot;:[0,\&quot;usados\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-02-22T16:01:38.850Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5ceecb3f887ef430f1f70c88\&quot;],\&quot;name\&quot;:[0,\&quot;Promoções\&quot;],\&quot;slug\&quot;:[0,\&quot;promocoes\&quot;],\&quot;icon\&quot;:[0,{\&quot;url\&quot;:[0,\&quot;https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007326827-mony.png\&quot;]}],\&quot;updated_at\&quot;:[0,\&quot;2019-08-28T15:52:41.385Z\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-28T15:52:41.385Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5d5714045753286eadbbdc77\&quot;],\&quot;name\&quot;:[0,\&quot;Ultrabook\&quot;],\&quot;parent\&quot;:[0,{\&quot;_id\&quot;:[0,\&quot;5c6ffa6ec626be23430d4f56\&quot;],\&quot;name\&quot;:[0,\&quot;Notebooks\&quot;],\&quot;slug\&quot;:[0,\&quot;notebooks\&quot;]}],\&quot;slug\&quot;:[0,\&quot;ultrabook\&quot;],\&quot;created_at\&quot;:[0,\&quot;2019-08-16T20:37:24.811Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5f70f1417430f92180f5ba66\&quot;],\&quot;name\&quot;:[0,\&quot;Brasileiro\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-09-27T20:08:33.202Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;5fb2b13b69274c73fcd6a051\&quot;],\&quot;name\&quot;:[0,\&quot;smartwatch\&quot;],\&quot;created_at\&quot;:[0,\&quot;2020-11-16T17:04:59.320Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;60199592d6981740b4a030f4\&quot;],\&quot;name\&quot;:[0,\&quot;São Paulo\&quot;],\&quot;slug\&quot;:[0,\&quot;sao-paulo\&quot;],\&quot;updated_at\&quot;:[0,\&quot;2021-08-17T18:43:10.174Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;61de099d0c7c72722502397b\&quot;],\&quot;name\&quot;:[0,\&quot;MacBook Pro\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-01-11T22:50:05.070Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;61de12450c7c727225025299\&quot;],\&quot;name\&quot;:[0,\&quot;Mac Stop\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-01-11T23:27:01.790Z\&quot;]}],[0,{\&quot;_id\&quot;:[0,\&quot;6227a90a7963422eee367aaa\&quot;],\&quot;name\&quot;:[0,\&quot;capinhas\&quot;],\&quot;created_at\&quot;:[0,\&quot;2022-03-08T19:05:46.688Z\&quot;]}]]&quot;]}" ssr="" client="load" opts="{&quot;name&quot;:&quot;ShopHeader&quot;,&quot;value&quot;:true}" await-children=""><header class="top-0 z-50 transition-colors bg-white py-3 sm:py-4 md:py-5"><div class="container lg:max-w-7xl mx-auto px-1 lg:pl-3 grid grid-flow-col grid-cols-3 justify-between items-center md:grid-cols-none md:auto-cols-max"><div class="md:hidden"><button class="px-2 my-1" aria-label="Abrir/fechar menu"><i class="i-menu text-base-500 text-3xl"></i></button></div><!--[--><astro-slot name="logo">
61
61
  <a href="/">
62
62
  <h2><picture>
63
63
  <source type="image/avif" srcset="/_image?f=avif&#38;w=300&#38;h=117&#38;ar=2.570281124497992&#38;href=%2Fimg%2Fuploads%2Flogo.webp 300w" sizes="150px"><source type="image/webp" srcset="/_image?f=webp&#38;w=300&#38;h=117&#38;ar=2.570281124497992&#38;href=%2Fimg%2Fuploads%2Flogo.webp 300w" sizes="150px">
@@ -1 +1 @@
1
- if(!self.define){let e,s={};const r=(r,n)=>(r=new URL(r+".js",n).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(n,i)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let a={};const l=e=>r(e,o),t={module:{uri:o},exports:a,require:l};s[o]=Promise.all(n.map((e=>t[e]||l(e)))).then((e=>(i(...e),a)))}}define(["./workbox-e2ee76b5"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"_astro/_...slug_.648728f3.css",revision:null},{url:"_astro/_plugin-vue_export-helper.e6f0b936.js",revision:null},{url:"_astro/client.e6b58b55.js",revision:null},{url:"_astro/ecom-utils.92f137f6.js",revision:null},{url:"_astro/hoisted.6edd7364.js",revision:null},{url:"_astro/index.0c833781.css",revision:null},{url:"_astro/index.5dd878ac.js",revision:null},{url:"_astro/modules-info.e8935203.js",revision:null},{url:"_astro/PitchBar.df2672ff.js",revision:null},{url:"_astro/Prices.99fa99bf.js",revision:null},{url:"_astro/ProductCard.a322c854.js",revision:null},{url:"_astro/runtime-dom.esm-bundler.e8b26f2c.js",revision:null},{url:"_astro/server.60de185d.css",revision:null},{url:"_astro/session-utm.72684b84.js",revision:null},{url:"_astro/ShopHeader.abd6dec6.js",revision:null},{url:"_astro/workbox-window.prod.es5.295a6886.js",revision:null},{url:"img/uploads/large-icon.png",revision:"0b35db516cfa7475b1c2f8c081e8d54d"},{url:"manifest.webmanifest",revision:"6a858866b0560997f368e27ab5418e15"}],{ignoreURLParametersMatching:[/.*/]}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/404"))),e.registerRoute(/^\/$/,new e.NetworkFirst,"GET"),e.registerRoute(/\/((?!(?:admin|assets|img)(\/|$))[^.]+)(\.(?!js|css|xml|txt|png|jpg|jpeg|webp|avif|svg|gif)[^.]+)*$/,new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/assets\//,new e.StaleWhileRevalidate({cacheName:"assets",plugins:[]}),"GET"),e.registerRoute(/^\/_image$/,new e.StaleWhileRevalidate({cacheName:"sharp-images",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/img\/uploads\/.*\.(?:png|jpg|jpeg|webp|avif|svg|gif)$/,new e.StaleWhileRevalidate({cacheName:"cms-images",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/ecomplus\.io/,new e.NetworkFirst({cacheName:"store-api",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/normal\//,new e.CacheFirst({cacheName:"product-thumbnails",plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/big\//,new e.CacheFirst({cacheName:"product-pictures",plugins:[new e.ExpirationPlugin({maxEntries:10,maxAgeSeconds:604800,purgeOnQuotaError:!0})]}),"GET")}));
1
+ if(!self.define){let e,s={};const r=(r,n)=>(r=new URL(r+".js",n).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(n,i)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let a={};const l=e=>r(e,o),u={module:{uri:o},exports:a,require:l};s[o]=Promise.all(n.map((e=>u[e]||l(e)))).then((e=>(i(...e),a)))}}define(["./workbox-e2ee76b5"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"_astro/_...slug_.6721f699.css",revision:null},{url:"_astro/_plugin-vue_export-helper.6da04e63.js",revision:null},{url:"_astro/client.b854166f.js",revision:null},{url:"_astro/firebase-app.7ce2ebb1.js",revision:null},{url:"_astro/format-money.6f464cee.js",revision:null},{url:"_astro/hoisted.721ad75d.js",revision:null},{url:"_astro/idle-callback.889bf0ea.js",revision:null},{url:"_astro/index.0c833781.css",revision:null},{url:"_astro/index.a500792d.js",revision:null},{url:"_astro/modules-info.80ae4e30.js",revision:null},{url:"_astro/PitchBar.457658a3.js",revision:null},{url:"_astro/preload-helper.101896b7.js",revision:null},{url:"_astro/Prices.a1302bf9.js",revision:null},{url:"_astro/ProductCard.1a45764a.js",revision:null},{url:"_astro/runtime-dom.esm-bundler.acde10ec.js",revision:null},{url:"_astro/server.60de185d.css",revision:null},{url:"_astro/session-utm.72684b84.js",revision:null},{url:"_astro/ShopHeader.0a6766ac.js",revision:null},{url:"_astro/workbox-window.prod.es5.295a6886.js",revision:null},{url:"img/uploads/large-icon.png",revision:"0b35db516cfa7475b1c2f8c081e8d54d"},{url:"manifest.webmanifest",revision:"6a858866b0560997f368e27ab5418e15"}],{ignoreURLParametersMatching:[/.*/]}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/404"))),e.registerRoute(/^\/$/,new e.NetworkFirst,"GET"),e.registerRoute(/\/((?!(?:admin|assets|img)(\/|$))[^.]+)(\.(?!js|css|xml|txt|png|jpg|jpeg|webp|avif|svg|gif)[^.]+)*$/,new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/assets\//,new e.StaleWhileRevalidate({cacheName:"assets",plugins:[]}),"GET"),e.registerRoute(/^\/_image$/,new e.StaleWhileRevalidate({cacheName:"sharp-images",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/img\/uploads\/.*\.(?:png|jpg|jpeg|webp|avif|svg|gif)$/,new e.StaleWhileRevalidate({cacheName:"cms-images",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/ecomplus\.io/,new e.NetworkFirst({cacheName:"store-api",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/normal\//,new e.CacheFirst({cacheName:"product-thumbnails",plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/big\//,new e.CacheFirst({cacheName:"product-pictures",plugins:[new e.ExpirationPlugin({maxEntries:10,maxAgeSeconds:604800,purgeOnQuotaError:!0})]}),"GET")}));
@@ -12,7 +12,7 @@ import 'node:stream';
12
12
  import { c as createAstro, a as createComponent, r as renderTemplate, b as addAttribute, u as unescapeHTML, m as maybeRenderHead, d as renderSlot, e as renderComponent, f as renderHead, F as Fragment, s as spreadAttributes } from '../astro.7d9d5f6e.mjs';
13
13
  import api from '@cloudcommerce/api';
14
14
  import { reactive, computed, defineComponent, inject, useSSRContext, mergeProps, ref, watch, toRef, onMounted, onBeforeUnmount, provide, createVNode, resolveDynamicComponent, withCtx, renderSlot as renderSlot$1, withDirectives, vShow, openBlock, createBlock, createCommentVNode, Fragment as Fragment$1, renderList, resolveComponent, withModifiers, Teleport, toDisplayString, createTextVNode } from 'vue';
15
- import { img, price, formatMoney, onPromotion } from '@ecomplus/utils';
15
+ import { img, price, formatMoney, nickname, onPromotion } from '@ecomplus/utils';
16
16
  import { ssrRenderAttrs, ssrRenderSlot, ssrRenderClass, ssrRenderVNode, ssrRenderComponent, ssrRenderStyle, ssrRenderList, ssrIncludeBooleanAttr, ssrRenderAttr, ssrRenderTeleport, ssrInterpolate } from 'vue/server-renderer';
17
17
  /* empty css */import { EventEmitter } from 'node:events';
18
18
  import fs, { readFileSync } from 'node:fs';
@@ -442,6 +442,13 @@ const loadPageContext = async (Astro, {
442
442
  } else {
443
443
  setResponseCache(Astro, 120, 300);
444
444
  }
445
+ if (apiDoc) {
446
+ globalThis.storefront.context = {
447
+ resource: apiResource,
448
+ doc: apiDoc,
449
+ timestamp: Date.now()
450
+ };
451
+ }
445
452
  const pageContext = {
446
453
  ...config,
447
454
  isHomepage,
@@ -791,7 +798,7 @@ window.storefront = ${JSON.stringify({ settings })};`;
791
798
  if (typeof apiDoc.price === "number") {
792
799
  apiDoc.price = price(apiDoc);
793
800
  }
794
- const slimDocRegex = globalThis.storefront_slim_doc_regex || /body|meta|records|description|i18n/;
801
+ const slimDocRegex = globalThis.storefront_slim_doc_regex || /body_|meta_|metafields|_records|i18n/;
795
802
  const minifyApiDoc = (nestedDoc) => {
796
803
  if (typeof nestedDoc === "object" && nestedDoc) {
797
804
  if (Array.isArray(nestedDoc)) {
@@ -1045,7 +1052,7 @@ const usePitchBar = (props) => {
1045
1052
 
1046
1053
  const carouselKey = Symbol("carousel");
1047
1054
 
1048
- const _sfc_main$8 = defineComponent({
1055
+ const _sfc_main$a = defineComponent({
1049
1056
  __name: "CarouselControl",
1050
1057
  props: {
1051
1058
  direction: { default: 1 }
@@ -1058,7 +1065,7 @@ const _sfc_main$8 = defineComponent({
1058
1065
  return __returned__;
1059
1066
  }
1060
1067
  });
1061
- function _sfc_ssrRender$8(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1068
+ function _sfc_ssrRender$a(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1062
1069
  _push(`<button${ssrRenderAttrs(mergeProps({
1063
1070
  type: "button",
1064
1071
  "aria-label": $props.direction > 0 ? "Pr\xF3ximo" : "Anterior",
@@ -1069,15 +1076,15 @@ function _sfc_ssrRender$8(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1069
1076
  }, _push, _parent);
1070
1077
  _push(`</button>`);
1071
1078
  }
1072
- const _sfc_setup$8 = _sfc_main$8.setup;
1073
- _sfc_main$8.setup = (props, ctx) => {
1079
+ const _sfc_setup$a = _sfc_main$a.setup;
1080
+ _sfc_main$a.setup = (props, ctx) => {
1074
1081
  const ssrContext = useSSRContext();
1075
1082
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/CarouselControl.vue");
1076
- return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
1083
+ return _sfc_setup$a ? _sfc_setup$a(props, ctx) : void 0;
1077
1084
  };
1078
- const CarouselControl = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["ssrRender", _sfc_ssrRender$8]]);
1085
+ const CarouselControl = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["ssrRender", _sfc_ssrRender$a]]);
1079
1086
 
1080
- const _sfc_main$7 = defineComponent({
1087
+ const _sfc_main$9 = defineComponent({
1081
1088
  __name: "Carousel",
1082
1089
  props: {
1083
1090
  as: { default: "ul" },
@@ -1214,7 +1221,7 @@ const _sfc_main$7 = defineComponent({
1214
1221
  return __returned__;
1215
1222
  }
1216
1223
  });
1217
- function _sfc_ssrRender$7(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1224
+ function _sfc_ssrRender$9(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1218
1225
  _push(`<div${ssrRenderAttrs(mergeProps({
1219
1226
  ref: "carousel",
1220
1227
  "data-carousel": ""
@@ -1268,15 +1275,15 @@ function _sfc_ssrRender$7(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1268
1275
  }, _push, _parent);
1269
1276
  _push(`</div>`);
1270
1277
  }
1271
- const _sfc_setup$7 = _sfc_main$7.setup;
1272
- _sfc_main$7.setup = (props, ctx) => {
1278
+ const _sfc_setup$9 = _sfc_main$9.setup;
1279
+ _sfc_main$9.setup = (props, ctx) => {
1273
1280
  const ssrContext = useSSRContext();
1274
1281
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/Carousel.vue");
1275
- return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
1282
+ return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
1276
1283
  };
1277
- const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["ssrRender", _sfc_ssrRender$7]]);
1284
+ const Carousel = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["ssrRender", _sfc_ssrRender$9]]);
1278
1285
 
1279
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1286
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1280
1287
  __name: "PitchBar",
1281
1288
  props: {
1282
1289
  slides: null
@@ -1293,7 +1300,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1293
1300
  return __returned__;
1294
1301
  }
1295
1302
  });
1296
- function _sfc_ssrRender$6(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1303
+ function _sfc_ssrRender$8(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1297
1304
  _push(`<div${ssrRenderAttrs(mergeProps({ class: "bg-base-100 relative z-1" }, _attrs))}><div class="container md:w-2/3 mx-auto px-3 py-1">`);
1298
1305
  _push(ssrRenderComponent($setup["Carousel"], {
1299
1306
  autoplay: $setup.countValidSlides > 1 ? 7e3 : null
@@ -1380,13 +1387,13 @@ function _sfc_ssrRender$6(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1380
1387
  }, _parent));
1381
1388
  _push(`</div></div>`);
1382
1389
  }
1383
- const _sfc_setup$6 = _sfc_main$6.setup;
1384
- _sfc_main$6.setup = (props, ctx) => {
1390
+ const _sfc_setup$8 = _sfc_main$8.setup;
1391
+ _sfc_main$8.setup = (props, ctx) => {
1385
1392
  const ssrContext = useSSRContext();
1386
1393
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/PitchBar.vue");
1387
- return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
1394
+ return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
1388
1395
  };
1389
- const PitchBar = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["ssrRender", _sfc_ssrRender$6]]);
1396
+ const PitchBar = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["ssrRender", _sfc_ssrRender$8]]);
1390
1397
 
1391
1398
  const useStickyHeader = (props) => {
1392
1399
  const {
@@ -1480,7 +1487,7 @@ const useShopHeader = (props) => {
1480
1487
  };
1481
1488
  };
1482
1489
 
1483
- const _sfc_main$5 = defineComponent({
1490
+ const _sfc_main$7 = defineComponent({
1484
1491
  __name: "Drawer",
1485
1492
  props: {
1486
1493
  modelValue: { type: Boolean, default: false },
@@ -1542,7 +1549,7 @@ const _sfc_main$5 = defineComponent({
1542
1549
  return __returned__;
1543
1550
  }
1544
1551
  });
1545
- function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1552
+ function _sfc_ssrRender$7(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1546
1553
  const _component_Fade = resolveComponent("Fade");
1547
1554
  _push(ssrRenderComponent(_component_Fade, mergeProps({
1548
1555
  slide: $setup.slideTo,
@@ -1639,13 +1646,196 @@ function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1639
1646
  _: 3
1640
1647
  }, _parent));
1641
1648
  }
1649
+ const _sfc_setup$7 = _sfc_main$7.setup;
1650
+ _sfc_main$7.setup = (props, ctx) => {
1651
+ const ssrContext = useSSRContext();
1652
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/Drawer.vue");
1653
+ return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
1654
+ };
1655
+ const Drawer = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["ssrRender", _sfc_ssrRender$7]]);
1656
+
1657
+ const useStorage = (key, initialValue, storage = localStorage) => {
1658
+ let persistedValue;
1659
+ const sessionJson = storage.getItem(key);
1660
+ if (sessionJson) {
1661
+ try {
1662
+ persistedValue = JSON.parse(sessionJson);
1663
+ } catch (e) {
1664
+ persistedValue = null;
1665
+ storage.removeItem(key);
1666
+ }
1667
+ }
1668
+ const state = reactive(persistedValue || initialValue);
1669
+ watch(state, () => {
1670
+ storage.setItem(key, JSON.stringify(state));
1671
+ });
1672
+ return state;
1673
+ };
1674
+
1675
+ const storageKey = "SESSION";
1676
+ const emptySession = {
1677
+ customer: {
1678
+ display_name: "",
1679
+ main_email: ""
1680
+ },
1681
+ auth: null
1682
+ };
1683
+ const session = useStorage(storageKey, emptySession);
1684
+ const isAuthenticated = computed(() => {
1685
+ const { auth } = session;
1686
+ return auth && new Date(auth.expires).getTime() - Date.now() > 1e3 * 10;
1687
+ });
1688
+ const customer = computed(() => session.customer);
1689
+ const customerName = computed(() => nickname(customer.value));
1690
+ computed({
1691
+ get() {
1692
+ return customer.value.main_email;
1693
+ },
1694
+ set(email) {
1695
+ session.customer.main_email = email;
1696
+ }
1697
+ });
1698
+ let firebaseAuth;
1699
+ const isLogged = computed(() => {
1700
+ return isAuthenticated.value || !!firebaseAuth?.currentUser?.emailVerified;
1701
+ });
1702
+ const logout = () => {
1703
+ session.auth = emptySession.auth;
1704
+ session.customer = emptySession.customer;
1705
+ localStorage.removeItem(storageKey);
1706
+ firebaseAuth.signOut();
1707
+ };
1708
+ const initializeFirebaseAuth = (canWaitIdle = !window.location.pathname.startsWith("/app/")) => {
1709
+ return;
1710
+ };
1711
+
1712
+ const {
1713
+ settings,
1714
+ context: apiContext
1715
+ } = globalThis.storefront;
1716
+ const networkNames = [
1717
+ "whatsapp",
1718
+ "instagram",
1719
+ "facebook",
1720
+ "twitter",
1721
+ "youtube",
1722
+ "tiktok",
1723
+ "pinterest"
1724
+ ];
1725
+ const socialNetworks = {};
1726
+ networkNames.forEach((network) => {
1727
+ if (settings[network]) {
1728
+ socialNetworks[network] = settings[network];
1729
+ }
1730
+ });
1731
+
1732
+ let userAgent;
1733
+ {
1734
+ userAgent = "";
1735
+ }
1736
+ userAgent.includes("Safari") && !userAgent.includes("Chrome");
1737
+ const isIOS = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;
1738
+ const isMobile = isIOS || /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
1739
+
1740
+ const _sfc_main$6 = defineComponent({
1741
+ __name: "SocialNetworkIcon",
1742
+ props: {
1743
+ as: { default: "i" },
1744
+ network: null
1745
+ },
1746
+ setup(__props, { expose }) {
1747
+ expose();
1748
+ const props = __props;
1749
+ const iconClassName = computed(() => {
1750
+ switch (props.network) {
1751
+ case "facebook":
1752
+ return "i-facebook";
1753
+ case "instagram":
1754
+ return "i-instagram";
1755
+ case "whatsapp":
1756
+ return "i-whatsapp";
1757
+ case "youtube":
1758
+ return "i-youtube";
1759
+ case "pinterest":
1760
+ return "i-pinterest";
1761
+ case "tiktok":
1762
+ return "i-tiktok";
1763
+ case "twitter":
1764
+ return "i-twitter";
1765
+ default:
1766
+ return "";
1767
+ }
1768
+ });
1769
+ const __returned__ = { props, iconClassName };
1770
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
1771
+ return __returned__;
1772
+ }
1773
+ });
1774
+ function _sfc_ssrRender$6(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1775
+ ssrRenderVNode(_push, createVNode(resolveDynamicComponent($props.as), mergeProps({ class: $setup.iconClassName }, _attrs), null), _parent);
1776
+ }
1777
+ const _sfc_setup$6 = _sfc_main$6.setup;
1778
+ _sfc_main$6.setup = (props, ctx) => {
1779
+ const ssrContext = useSSRContext();
1780
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/SocialNetworkIcon.vue");
1781
+ return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
1782
+ };
1783
+ const SocialNetworkIcon = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["ssrRender", _sfc_ssrRender$6]]);
1784
+
1785
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
1786
+ __name: "SocialNetworkLink",
1787
+ props: {
1788
+ network: null,
1789
+ href: null,
1790
+ message: null
1791
+ },
1792
+ setup(__props, { expose }) {
1793
+ expose();
1794
+ const props = __props;
1795
+ const fixedHref = computed(() => {
1796
+ let href = props.href || socialNetworks[props.network];
1797
+ if (props.network === "whatsapp") {
1798
+ const tel = href.replace(/[^+\d]/g, "");
1799
+ href = `https://${isMobile ? "api" : "web"}.whatsapp.com/send?phone=` + encodeURIComponent(tel.charAt(0) === "+" ? tel : `+55${tel}`);
1800
+ if (props.message) {
1801
+ href += `&text=${encodeURIComponent(props.message)}`;
1802
+ }
1803
+ }
1804
+ return href;
1805
+ });
1806
+ const __returned__ = { props, fixedHref, SocialNetworkIcon };
1807
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
1808
+ return __returned__;
1809
+ }
1810
+ });
1811
+ function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1812
+ const _component_ALink = resolveComponent("ALink");
1813
+ _push(ssrRenderComponent(_component_ALink, mergeProps({ href: $setup.fixedHref }, _attrs), {
1814
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
1815
+ if (_push2) {
1816
+ ssrRenderSlot(_ctx.$slots, "default", {}, () => {
1817
+ _push2(ssrRenderComponent($setup["SocialNetworkIcon"], { network: $props.network }, null, _parent2, _scopeId));
1818
+ ssrRenderSlot(_ctx.$slots, "append", {}, null, _push2, _parent2, _scopeId);
1819
+ }, _push2, _parent2, _scopeId);
1820
+ } else {
1821
+ return [
1822
+ renderSlot$1(_ctx.$slots, "default", {}, () => [
1823
+ createVNode($setup["SocialNetworkIcon"], { network: $props.network }, null, 8, ["network"]),
1824
+ renderSlot$1(_ctx.$slots, "append")
1825
+ ])
1826
+ ];
1827
+ }
1828
+ }),
1829
+ _: 3
1830
+ }, _parent));
1831
+ }
1642
1832
  const _sfc_setup$5 = _sfc_main$5.setup;
1643
1833
  _sfc_main$5.setup = (props, ctx) => {
1644
1834
  const ssrContext = useSSRContext();
1645
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/Drawer.vue");
1835
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/SocialNetworkLink.vue");
1646
1836
  return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
1647
1837
  };
1648
- const Drawer = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["ssrRender", _sfc_ssrRender$5]]);
1838
+ const SocialNetworkLink = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["ssrRender", _sfc_ssrRender$5]]);
1649
1839
 
1650
1840
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
1651
1841
  __name: "ShopSidenavCategory",
@@ -1714,7 +1904,16 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1714
1904
  },
1715
1905
  setup(__props, { expose }) {
1716
1906
  expose();
1717
- const __returned__ = { ShopSidenavCategory };
1907
+ onMounted(() => initializeFirebaseAuth());
1908
+ const __returned__ = { get customerName() {
1909
+ return customerName;
1910
+ }, get isLogged() {
1911
+ return isLogged;
1912
+ }, get logout() {
1913
+ return logout;
1914
+ }, get socialNetworks() {
1915
+ return socialNetworks;
1916
+ }, SocialNetworkLink, ShopSidenavCategory };
1718
1917
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
1719
1918
  return __returned__;
1720
1919
  }
@@ -1727,7 +1926,22 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1727
1926
  "category-tree": categoryTree
1728
1927
  }, null, _parent));
1729
1928
  });
1730
- _push(`<!--]--></ul></nav></aside>`);
1929
+ _push(`<!--]--></ul></nav><footer class="text-base"><div class="flex items-center px-2 py-4 bg-base-100"><a href="/app/account" class="p-2 grow flex items-center gap-3"><i class="i-account text-4xl text-base-500 m-0"></i><span class="leading-tight">${ssrInterpolate(`${"Ol\xE1"} ${$setup.customerName || "Visitante"}`)} <small class="block lowercase font-semibold text-primary">${ssrInterpolate("Meus pedidos")}, ${ssrInterpolate("Minha conta")}</small></span></a>`);
1930
+ if ($setup.isLogged) {
1931
+ _push(`<button class="p-2 text-right text-base-800"><span class="text-base-600">${ssrInterpolate("Sair")}</span><i class="i-logout text-lg ml-1"></i></button>`);
1932
+ } else {
1933
+ _push(`<!---->`);
1934
+ }
1935
+ _push(`</div><ul class="flex gap-3 p-4 bg-base-200 text-xl text-base-700"><!--[-->`);
1936
+ ssrRenderList($setup.socialNetworks, (href, network) => {
1937
+ _push(`<li>`);
1938
+ _push(ssrRenderComponent($setup["SocialNetworkLink"], {
1939
+ network,
1940
+ class: "p-1 active:text-primary"
1941
+ }, null, _parent));
1942
+ _push(`</li>`);
1943
+ });
1944
+ _push(`<!--]--></ul></footer></aside>`);
1731
1945
  }
1732
1946
  const _sfc_setup$3 = _sfc_main$3.setup;
1733
1947
  _sfc_main$3.setup = (props, ctx) => {