cloudcommerce 2.0.9 → 2.2.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 (156) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/LICENSE +21 -0
  3. package/README.md +3 -7
  4. package/action.yml +70 -6
  5. package/ecomplus-stores/barra-doce/.github/workflows/build-and-deploy.yml +4 -2
  6. package/ecomplus-stores/barra-doce/.vscode/settings.json +8 -1
  7. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  8. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  9. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +5 -9
  10. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderMenu.vue +6 -3
  11. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +2 -2
  12. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/[...slug].astro +10 -2
  13. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  14. package/ecomplus-stores/barra-doce/package.json +2 -4
  15. package/ecomplus-stores/tia-sonia/.github/workflows/build-and-deploy.yml +4 -2
  16. package/ecomplus-stores/tia-sonia/.vscode/settings.json +7 -1
  17. package/ecomplus-stores/tia-sonia/package.json +0 -2
  18. package/package.json +8 -8
  19. package/packages/__skeleton/package.json +1 -1
  20. package/packages/api/lib/api.js +1 -1
  21. package/packages/api/lib/api.js.map +1 -1
  22. package/packages/api/package.json +2 -2
  23. package/packages/api/src/api.ts +1 -1
  24. package/packages/apps/affiliate-program/package.json +2 -2
  25. package/packages/apps/correios/package.json +2 -2
  26. package/packages/apps/custom-payment/package.json +2 -2
  27. package/packages/apps/custom-shipping/package.json +2 -2
  28. package/packages/apps/datafrete/package.json +2 -2
  29. package/packages/apps/discounts/package.json +2 -2
  30. package/packages/apps/emails/package.json +2 -2
  31. package/packages/apps/fb-conversions/package.json +2 -2
  32. package/packages/apps/flash-courier/package.json +2 -2
  33. package/packages/apps/frenet/package.json +2 -2
  34. package/packages/apps/galaxpay/package.json +2 -2
  35. package/packages/apps/google-analytics/package.json +2 -2
  36. package/packages/apps/jadlog/package.json +2 -2
  37. package/packages/apps/loyalty-points/package.json +2 -2
  38. package/packages/apps/mandae/package.json +2 -2
  39. package/packages/apps/melhor-envio/package.json +2 -2
  40. package/packages/apps/mercadopago/package.json +2 -2
  41. package/packages/apps/pagarme/package.json +2 -2
  42. package/packages/apps/pagarme-v5/package.json +2 -2
  43. package/packages/apps/paghiper/package.json +2 -2
  44. package/packages/apps/pix/package.json +2 -2
  45. package/packages/apps/tiny-erp/package.json +2 -2
  46. package/packages/apps/webhooks/package.json +2 -2
  47. package/packages/cli/ci/bunny-config-base.sh +225 -0
  48. package/packages/cli/ci/bunny-prepare-ab.sh +173 -0
  49. package/packages/cli/ci/bunny-remove-ab.sh +54 -0
  50. package/packages/cli/ci/bunny-setup.sh +103 -0
  51. package/packages/cli/lib/cli.js +6 -0
  52. package/packages/cli/package.json +3 -2
  53. package/packages/cli/src/cli.ts +6 -0
  54. package/packages/config/package.json +2 -2
  55. package/packages/emails/package.json +2 -2
  56. package/packages/eslint/base.eslintrc.cjs +2 -0
  57. package/packages/eslint/package.json +4 -4
  58. package/packages/eslint/storefront.eslintrc.cjs +0 -2
  59. package/packages/events/package.json +2 -2
  60. package/packages/feeds/package.json +2 -2
  61. package/packages/firebase/package.json +3 -3
  62. package/packages/i18n/package.json +2 -2
  63. package/packages/modules/package.json +2 -2
  64. package/packages/passport/package.json +2 -2
  65. package/packages/ssr/lib/lib/cron-ssr-save-views.js +76 -4
  66. package/packages/ssr/lib/lib/cron-ssr-save-views.js.map +1 -1
  67. package/packages/ssr/package.json +3 -3
  68. package/packages/ssr/src/lib/cron-ssr-save-views.ts +78 -4
  69. package/packages/storefront/client.d.ts +2 -0
  70. package/packages/storefront/dist/client/_astro/{AccountPage.9BlGHXT3.js → AccountPage.89hLh9p2.js} +1 -1
  71. package/packages/storefront/dist/client/_astro/{CartSidebar.55UgTcV0.js → CartSidebar.G25ZUnKP.js} +1 -1
  72. package/packages/storefront/dist/client/_astro/{ProductDetails.ENLKdSz_.js → ProductDetails.ntFWLjla.js} +1 -1
  73. package/packages/storefront/dist/client/_astro/{ProductShelf.lCBJky3e.js → ProductShelf.PPitdYxI.js} +1 -1
  74. package/packages/storefront/dist/client/_astro/{ProductShelf.CNf5JDrU.js → ProductShelf.xSxmHkTe.js} +1 -1
  75. package/packages/storefront/dist/client/_astro/{SearchModal.4osqtafp.js → SearchModal.R55jFaBZ.js} +1 -1
  76. package/packages/storefront/dist/client/_astro/{SearchShowcase.hg6TWrz3.js → SearchShowcase.I1PPFu_n.js} +1 -1
  77. package/packages/storefront/dist/client/_astro/{ShopHeader.xLMeJpqV.js → ShopHeader.OLf0l4Ot.js} +2 -2
  78. package/packages/storefront/dist/client/_astro/{_slug_.r344YGqG.css → _slug_.Hc-dqhcW.css} +1 -1
  79. package/packages/storefront/dist/client/_astro/customer-session.AcETMuhI.js +7 -0
  80. package/packages/storefront/dist/client/_astro/ecom-icon_12falx.png +0 -0
  81. package/packages/storefront/dist/client/_astro/ecom-icon_15pqnO.png +0 -0
  82. package/packages/storefront/dist/client/_astro/ecom-icon_t3guw.png +0 -0
  83. package/packages/storefront/dist/client/_astro/{firebase-app.cPMfoOsn.js → firebase-app.VduCDgof.js} +1 -1
  84. package/packages/storefront/dist/client/_astro/headphone_T2Jjc.avif +0 -0
  85. package/packages/storefront/dist/client/_astro/headphone_Z1CG18r.webp +0 -0
  86. package/packages/storefront/dist/client/_astro/{hoisted.J15ErMtK.js → hoisted.PxLuJZKI.js} +1 -1
  87. package/packages/storefront/dist/client/_astro/{hoisted.KYhwGfsv.js → hoisted.WBjTfX6e.js} +1 -1
  88. package/packages/storefront/dist/client/_astro/{hoisted.HGTzAuTI.js → hoisted.Wi6YpdWJ.js} +1 -1
  89. package/packages/storefront/dist/client/_astro/{index-dd468b12.D5s8VdAL.js → index-dd468b12.fl8bpn8l.js} +3 -3
  90. package/packages/storefront/dist/client/_astro/logo_1UBsBq.webp +0 -0
  91. package/packages/storefront/dist/client/_astro/logo_Z1K5PE9.png +0 -0
  92. package/packages/storefront/dist/client/_astro/logo_Z1KIIl1.avif +0 -0
  93. package/packages/storefront/dist/client/_astro/passion_LHbe9.webp +0 -0
  94. package/packages/storefront/dist/client/_astro/passion_Z23MeUb.avif +0 -0
  95. package/packages/storefront/dist/client/_astro/rect8589_1TtOHY.png +0 -0
  96. package/packages/storefront/dist/client/_astro/rect8589_1f5opX.webp +0 -0
  97. package/packages/storefront/dist/client/_astro/rect8589_IUskt.webp +0 -0
  98. package/packages/storefront/dist/client/_astro/rect8589_Uxfdf.png +0 -0
  99. package/packages/storefront/dist/client/_astro/rect8589_Z15uApA.png +0 -0
  100. package/packages/storefront/dist/client/_astro/rect8589_Z1Ap1Im.avif +0 -0
  101. package/packages/storefront/dist/client/_astro/rect8589_Z1JT1HB.webp +0 -0
  102. package/packages/storefront/dist/client/_astro/rect8589_ZY9mtN.avif +0 -0
  103. package/packages/storefront/dist/client/_astro/rect8589_tMFW0.avif +0 -0
  104. package/packages/storefront/dist/client/_astro/rect859_1TgQXS.avif +0 -0
  105. package/packages/storefront/dist/client/_astro/rect859_2Nm1z.avif +0 -0
  106. package/packages/storefront/dist/client/_astro/rect859_DIqwR.png +0 -0
  107. package/packages/storefront/dist/client/_astro/rect859_Z1IKDb2.png +0 -0
  108. package/packages/storefront/dist/client/_astro/rect859_Z29FI4V.webp +0 -0
  109. package/packages/storefront/dist/client/_astro/rect859_Z2kFHGk.avif +0 -0
  110. package/packages/storefront/dist/client/_astro/rect859_ZkpPFI.webp +0 -0
  111. package/packages/storefront/dist/client/_astro/rect859_jXzBi.png +0 -0
  112. package/packages/storefront/dist/client/_astro/rect859_x1l16.webp +0 -0
  113. package/packages/storefront/dist/client/_astro/rect89_1TSfW7.avif +0 -0
  114. package/packages/storefront/dist/client/_astro/rect89_Z1re32x.webp +0 -0
  115. package/packages/storefront/dist/client/_astro/{shopping-cart.ZdSCrjS6.js → shopping-cart.dJsZkyuD.js} +1 -1
  116. package/packages/storefront/dist/client/_astro/use-analytics.uqK_2k_k.js +1 -0
  117. package/packages/storefront/dist/client/_astro/{use-product-card.-9TsgDDW.js → use-product-card.WRVLjenR.js} +1 -1
  118. package/packages/storefront/dist/client/~fallback.html +98 -0
  119. package/packages/storefront/dist/client/~index.html +128 -0
  120. package/packages/storefront/dist/server/chunks/{CartSidebar_7UWmGIF6.mjs → CartSidebar_yYIzwp_R.mjs} +1 -1
  121. package/packages/storefront/dist/server/chunks/{SearchModal_MNdcYMws.mjs → SearchModal_GvRUZ6ce.mjs} +1 -1
  122. package/packages/storefront/dist/server/chunks/{_.._h5R83hoK.mjs → _.._Lq3r7hpv.mjs} +1 -1
  123. package/packages/storefront/dist/server/chunks/{_page__lWVlZyRe.mjs → _page__LqbeNfr1.mjs} +1 -1
  124. package/packages/storefront/dist/server/chunks/{account_jmelxnlw.mjs → account_4n4rpirV.mjs} +1 -1
  125. package/packages/storefront/dist/server/chunks/astro/{assets-service_xNulQtBO.mjs → assets-service_yXRChsFH.mjs} +11 -66
  126. package/packages/storefront/dist/server/chunks/{astro_tggR3S_9.mjs → astro_F4pl3toV.mjs} +1 -7
  127. package/packages/storefront/dist/server/chunks/{index_e3ytAL8v.mjs → index_SwXtE1IM.mjs} +1 -1
  128. package/packages/storefront/dist/server/chunks/{node_kUJIRL0c.mjs → node_Nzz44v5l.mjs} +1 -1
  129. package/packages/storefront/dist/server/chunks/pages/{__wihn0dYD.mjs → __z8Igc_-f.mjs} +102 -298
  130. package/packages/storefront/dist/server/chunks/pages/{_page__Sb1eYhpz.mjs → _page__-V1Q-Ymk.mjs} +3 -17
  131. package/packages/storefront/dist/server/chunks/pages/account_frSUn7gD.mjs +22 -0
  132. package/packages/storefront/dist/server/chunks/pages/{index_mQXYNYRg.mjs → index_QqJiJpFy.mjs} +4 -15
  133. package/packages/storefront/dist/server/chunks/pages/node_FoDIj_f7.mjs +257 -0
  134. package/packages/storefront/dist/server/chunks/pages/~fallback_t0lNhRm9.mjs +33 -0
  135. package/packages/storefront/dist/server/chunks/~fallback_EWqi0UyU.mjs +6 -0
  136. package/packages/storefront/dist/server/entry.mjs +8 -8
  137. package/packages/storefront/dist/server/images.dist.csv +30 -0
  138. package/packages/storefront/dist/server/images.src.csv +11 -0
  139. package/packages/storefront/dist/server/manifest_ZHJUD8_m.mjs +196 -0
  140. package/packages/storefront/dist/server/renderers.mjs +1 -1
  141. package/packages/storefront/dist/server/static-builds.csv +71 -0
  142. package/packages/storefront/package.json +4 -4
  143. package/packages/storefront/src/lib/layouts/BaseHead.astro +1 -0
  144. package/packages/storefront/src/lib/state/use-analytics.ts +24 -6
  145. package/packages/test-base/package.json +2 -2
  146. package/packages/types/package.json +2 -2
  147. package/LICENSE.md +0 -230
  148. package/ecomplus-stores/barra-doce/LICENSE.md +0 -230
  149. package/ecomplus-stores/tia-sonia/LICENSE.md +0 -230
  150. package/packages/storefront/dist/client/_astro/customer-session.hXdZh5Ii.js +0 -7
  151. package/packages/storefront/dist/client/_astro/use-analytics.tCrQbW8O.js +0 -1
  152. package/packages/storefront/dist/server/chunks/pages/account_-mULVQUB.mjs +0 -32
  153. package/packages/storefront/dist/server/chunks/pages/node_-qe5LuQh.mjs +0 -112
  154. package/packages/storefront/dist/server/chunks/pages/~fallback_ad_xyGHU.mjs +0 -58
  155. package/packages/storefront/dist/server/chunks/~fallback_EZqiEAFE.mjs +0 -6
  156. package/packages/storefront/dist/server/manifest_RrmXPEuL.mjs +0 -196
@@ -0,0 +1,7 @@
1
+ import{r as B}from"./sf-utils.Z4H-dRBJ.js";import{h as x}from"./index.q6KIyKlJ.js";import{r as C,c as b}from"./runtime-core.esm-bundler.XTSAdOlw.js";const K=e=>{if(e){if(e.display_name)return e.display_name;if(e.name&&e.name.given_name)return e.name.given_name}return""},z=K,G="modulepreload",J=function(e){return"/"+e},I={},V=function(a,t,r){let i=Promise.resolve();if(t&&t.length>0){const o=document.getElementsByTagName("link");i=Promise.all(t.map(s=>{if(s=J(s),s in I)return;I[s]=!0;const n=s.endsWith(".css"),f=n?'[rel="stylesheet"]':"";if(!!r)for(let p=o.length-1;p>=0;p--){const g=o[p];if(g.href===s&&(!n||g.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${f}`))return;const l=document.createElement("link");if(l.rel=n?"stylesheet":G,n||(l.as="script",l.crossOrigin=""),l.href=s,document.head.appendChild(l),n)return new Promise((p,g)=>{l.addEventListener("load",p),l.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${s}`)))})}))}return i.then(()=>a()).catch(o=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o})},F=(e,a,t=globalThis.localStorage)=>{if(!t)return C(a);let r;const i=t.getItem(e);if(i)try{r=JSON.parse(i)}catch{r=null,t.removeItem(e)}const o=C(r||a);return x(o,()=>{t.setItem(e,JSON.stringify(o))},{debounce:50}),o};globalThis.__apiCache||(globalThis.__apiCache={});const _=typeof process=="object"&&process?.env||globalThis;class S extends Error{constructor(a,t,r,i=!1){t?(super(t.statusText),this.data=t.data,this.statusCode=t.status):super(r||"Request error"),this.config=a,this.response=t,this.isTimeout=i}}const H={middleware(e){const a={...e.headers};if(!e.isNoAuth)if(e.accessToken)a.Authorization=`Bearer ${e.accessToken}`;else{const o=e.authenticationId||_.ECOM_AUTHENTICATION_ID,s=e.apiKey||_.ECOM_API_KEY;if(o&&s){const n=`${o}:${s}`,f=typeof Buffer=="function"?Buffer.from(n).toString("base64"):btoa(n);a.Authorization=`Basic ${f}`}}let t=e.baseUrl||_.API_BASE_URL||"https://ecomplus.io/v2";const{endpoint:r,params:i}=e;if(r!=="login"&&r!=="authenticate"&&r!=="ask-auth-callback"&&r!=="check-username"){const o=e.storeId||_.ECOM_STORE_ID;if(!o)throw new Error("`storeId` must be set in config or `ECOM_STORE_ID` env var");t+=`/:${o}`;const s=e.lang||_.ECOM_LANG;s&&(t+=`,lang:${s}`)}if(t+=`/${r}`,typeof i=="string")t+=`?${i}`;else{const o=i||{};if(["fields","sort"].forEach(s=>{const n=e[s];n&&!o[s]&&(o[s]=n.join(","))}),["limit","offset","count","buckets","concise","verbose"].forEach(s=>{const n=e[s];n&&!o[s]&&(o[s]=n)}),Object.keys(o).length){const s=new URLSearchParams;Object.keys(o).forEach(n=>{const f=o[n];Array.isArray(f)?f.forEach(y=>{s.append(n,y)}):f!==void 0&&s.append(n,f)}),t+=`?${s.toString()}`}}return{url:t,headers:a}}},c=async(e,a=0)=>{const t=globalThis.$apiMergeConfig?{...globalThis.$apiMergeConfig,...e}:e,{url:r,headers:i}=H.middleware(t),o=t.method?.toUpperCase()||"GET",{timeout:s=2e4,maxRetries:n=3,cacheMaxAge:f=Number(_.API_CACHE_MAX_AGE)||12e4}=t,y=o==="GET"&&t.canCache;let l;if(y){l=`${r}${JSON.stringify(i)}`;const m=globalThis.__apiCache[l];if(m&&Date.now()-m.timestamp<=f)return{...m.res,config:t}}const p=t.body||t.data;let g;p&&(g=JSON.stringify(p),i["Content-Type"]="application/json");const T=new AbortController;let A=!1;const L=setTimeout(()=>{T.abort(),A=!0},s);let u;try{u=await(t.fetch||fetch)(r,{method:o,headers:i,body:g,signal:T.signal})}catch(m){let d=m.message;throw m.cause&&(d+=` - ${m.cause}`),new S(t,u,d,A)}if(clearTimeout(L),u){if(u.ok){const d=u;return d.data=u.status!==204?await u.json():null,y&&l&&(globalThis.__apiCache[l]={timestamp:Date.now(),res:d}),d.config=t,d}const{status:m}=u;if(n<a&&(m===429||m>=500)){const d=u.headers.get("retry-after");return new Promise((M,U)=>{setTimeout(()=>{c(e,a+1).then(M).catch(U)},d&&parseInt(d,10)*1e3||5e3)})}}try{u.data=await u?.json()}catch{}throw new S(t,u)},Y=(e,a)=>c({...a,endpoint:e}),q=(e,a,t)=>c({...t,method:"post",endpoint:e,body:a}),X=(e,a,t)=>c({...t,method:"put",endpoint:e,body:a}),Q=(e,a,t)=>c({...t,method:"patch",endpoint:e,body:a}),N=(e,a)=>c({...a,method:"delete",endpoint:e});c.get=Y;c.post=q;c.put=X;c.patch=Q;c.del=N;c.delete=N;const W="emailForSignIn",P="ecomSession",E={customer:{display_name:"",main_email:""},auth:null},h=F(P,E),v=b(()=>{const{auth:e}=h;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),R=b(()=>h.customer),k=b(()=>z(R.value)),O=b({get(){return R.value.main_email},set(e){h.customer.main_email=e}});let w;const ne=b(()=>v.value||!!w?.currentUser?.emailVerified),Z=()=>{h.auth=E.auth,h.customer=E.customer,localStorage.removeItem(P),w.signOut()},j=(e="Not authenticated")=>{const a=new Error(e);throw a.isNoAuth=!0,a},D=async()=>{const e=await w.currentUser?.getIdToken();if(!e){j("Can't get Firebase user ID token");return}const{domain:a}=globalThis.$storefront.settings;try{const t=await fetch(`https://${a}/_api/passport/token`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}});h.auth=await t.json()}catch(t){console.error(t)}},ee=async()=>(v.value||await D(),h.auth?h.auth.access_token:j()),te=async()=>{const e=await ee(),a=h.auth,{data:t}=await c.get(`customers/${a.customer_id}`,{accessToken:e});return h.customer=t,t};let $=!1;const re=e=>{if($)return;e===void 0&&(e=!window.location.pathname.startsWith("/app/")),$=!0;const a=()=>V(()=>import("./firebase-app.VduCDgof.js"),__vite__mapDeps([0,1])).then(({getAuth:t,onAuthStateChanged:r,isSignInWithEmailLink:i,signInWithEmailLink:o})=>{if(w=t(),r(w,async s=>{if(s){if(s.displayName&&!k.value&&(h.customer.display_name=s.displayName),s.email&&(!O.value||s.emailVerified)&&(h.customer.main_email=s.email),s.emailVerified){const n=s.email!==O.value;(n||!v.value)&&(await D(),(n||!k.value)&&await te())}}else Z()}),i(w,window.location.href)){const n=new URLSearchParams(window.location.search).get("email");n&&o(w,n,window.location.href).then(()=>window.localStorage.removeItem(W)).catch(console.error)}}).catch(console.error);e?B(a):a()};export{W as E,V as _,k as a,c as b,R as c,ne as d,re as e,O as f,v as i,Z as l,h as s,F as u};
2
+ function __vite__mapDeps(indexes) {
3
+ if (!__vite__mapDeps.viteFileDeps) {
4
+ __vite__mapDeps.viteFileDeps = ["_astro/firebase-app.VduCDgof.js","_astro/index-dd468b12.fl8bpn8l.js"]
5
+ }
6
+ return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
7
+ }
@@ -1,4 +1,4 @@
1
- import{r as i,i as a}from"./index-dd468b12.D5s8VdAL.js";import{g as p,a as f,o as g,s as m}from"./index-dd468b12.D5s8VdAL.js";var e="firebase",s="10.7.1";/**
1
+ import{r as i,i as a}from"./index-dd468b12.fl8bpn8l.js";import{g as p,a as f,o as g,s as m}from"./index-dd468b12.fl8bpn8l.js";var e="firebase",s="10.7.2";/**
2
2
  * @license
3
3
  * Copyright 2020 Google LLC
4
4
  *
@@ -1 +1 @@
1
- import{i as E,s as b,c as p,a as N}from"./customer-session.hXdZh5Ii.js";import{s as w}from"./shopping-cart.ZdSCrjS6.js";import{g as v,e as I}from"./use-analytics.tCrQbW8O.js";import{u as O}from"./afetch.5c8VmT0-.js";import"./index.q6KIyKlJ.js";import{w as T}from"./runtime-core.esm-bundler.XTSAdOlw.js";import"./hoisted.HGTzAuTI.js";import"./sf-utils.Z4H-dRBJ.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const R=o=>{let a="";if(typeof o=="object"&&o!==null){let i=Array.isArray(o.phones)?o.phones[0]:o;i&&i.number&&(i.country_code&&(a=`+${i.country_code} `),a+=i.number)}return a},k=R,M=()=>{const o=window.storefrontApp?.router;if(o){const a=()=>sessionStorage.getItem("st_discount_coupon")||void 0,i=s=>Math.round(s*100)/100,h=[],r=(s,t)=>{h.includes(s)||(h.push(s),t||(t={value:i(w.subtotal||0),items:w.items.map(v)}),s!=="view_cart"&&(t.coupon=a(),h.includes("begin_checkout")||r("begin_checkout")),I(s,t))};let g=!1;const m=(s,t)=>{if(!g){if(localStorage.getItem("gtag.orderIdSent")!==s){let _;if(t)try{_=JSON.parse(t)}catch{}const{amount:l}=_||window.storefrontApp,S={transaction_id:s,value:i(l?.total||w.subtotal||0),items:w.items.map(v),coupon:_?_.extra_discount?.discount_coupon:a()};l&&(l.freight!==void 0&&(S.shipping=i(l.freight)),l.tax!==void 0&&(S.tax=i(l.tax)));let A=1;const{dataLayer:y,__sendGTMExtraPurchaseData:P}=window;if(y&&P){const n={};let e;if(p){n.customerDisplayName=N.value;let c=p.value.name;if(!c?.given_name)try{const f=sessionStorage.getItem("ecomCustomerAccount");if(f){const C=JSON.parse(f);typeof C=="object"&&C&&(c=C.name)}}catch{}c&&(n.customerGivenName=c.given_name,n.customerFamilyName=c.family_name),n.customerEmail=p.value.main_email,n.customerPhone=k(p.value),e=p.value.addresses?.[0]}try{const c=sessionStorage.getItem("ecomCustomerAddress");if(c){const f=JSON.parse(c);typeof e=="object"&&e?Object.assign(e,f):e=f}}catch{}e&&e.zip&&(n.shippingAddrZip=e.zip,n.shippingAddrStreet=e.street,n.shippingAddrNumber=e.number,e.street&&e.number&&(n.shippingAddrStreet+=`, ${e.number}`),n.shippingAddrCity=e.city,n.shippingAddrProvinceCode=e.province_code),y.push({event:"purchaseExtraData",...n}),A=100}setTimeout(()=>I("purchase",S),A),localStorage.setItem("gtag.orderIdSent",s)}g=!0}};let u;const d=({name:s,params:t})=>{switch(s){case"cart":r("view_cart");break;case"checkout":t.step?Number(t.step)===1?r("add_shipping_info"):Number(t.step)===2&&r("add_payment_info"):r("begin_checkout");break;case"confirmation":clearTimeout(u),t.json?m(t.id,decodeURIComponent(t.json)):u=setTimeout(()=>{m(t.id)},1500);break}};o.currentRoute&&d(o.currentRoute),o.afterEach(d)}};{Object.keys(O).length&&sessionStorage.setItem("ecomUtm",JSON.stringify(O));let o=window.location.search;!o&&window.location.hash&&(o="?"+window.location.hash.split("?")[1]);const a=new URLSearchParams(o);a.get("product_id")&&a.get("quantity")==="1"&&(localStorage.setItem("ecomShoppingCart__tmp",JSON.stringify({items:[{product_id:a.get("product_id"),variation_id:a.get("variation_id")||void 0,quantity:1}]})),window.ECOM_CART_STORAGE_KEY="ecomShoppingCart__tmp");const{hostname:i}=window.location,{domain:h}=globalThis.$storefront.settings,r=`https://ecomplus.io/v2/:${window.ECOM_STORE_ID}/`;window.ECOMCLIENT_API_STORE=r,window.ECOMCLIENT_API_STORE_CACHE=r,window.ECOMCLIENT_API_PASSPORT=r,window.ECOMCLIENT_API_SEARCH=`${r}/search/_els/`,window.ECOMCLIENT_API_MODULES=["localhost","127.0.0.1"].includes(i)?`https://${h}/_api/modules/`:"/_api/modules/";const g=()=>{const{ecomPassport:u}=window;T(E,async()=>{E.value?u.setSession({auth:{...b.auth,id:b.auth?.customer_id,level:3},customer:p.value}):u.checkLogin()&&u.logout()},{immediate:!0}),T(p,d=>{(d.display_name||d.main_email)&&u.setCustomer(d)},{immediate:!0}),setTimeout(M,400)},m=document.createElement("script");m.src="https://cdn.jsdelivr.net/npm/@ecomplus/storefront-app@2.0.0-beta.190/dist/lib/js/app.js",m.onload=g,document.body.appendChild(m)}
1
+ import{i as E,s as b,c as p,a as N}from"./customer-session.AcETMuhI.js";import{s as w}from"./shopping-cart.dJsZkyuD.js";import{g as v,e as I}from"./use-analytics.uqK_2k_k.js";import{u as O}from"./afetch.5c8VmT0-.js";import"./index.q6KIyKlJ.js";import{w as T}from"./runtime-core.esm-bundler.XTSAdOlw.js";import"./hoisted.Wi6YpdWJ.js";import"./sf-utils.Z4H-dRBJ.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const R=o=>{let a="";if(typeof o=="object"&&o!==null){let i=Array.isArray(o.phones)?o.phones[0]:o;i&&i.number&&(i.country_code&&(a=`+${i.country_code} `),a+=i.number)}return a},k=R,M=()=>{const o=window.storefrontApp?.router;if(o){const a=()=>sessionStorage.getItem("st_discount_coupon")||void 0,i=s=>Math.round(s*100)/100,h=[],r=(s,t)=>{h.includes(s)||(h.push(s),t||(t={value:i(w.subtotal||0),items:w.items.map(v)}),s!=="view_cart"&&(t.coupon=a(),h.includes("begin_checkout")||r("begin_checkout")),I(s,t))};let g=!1;const m=(s,t)=>{if(!g){if(localStorage.getItem("gtag.orderIdSent")!==s){let _;if(t)try{_=JSON.parse(t)}catch{}const{amount:l}=_||window.storefrontApp,S={transaction_id:s,value:i(l?.total||w.subtotal||0),items:w.items.map(v),coupon:_?_.extra_discount?.discount_coupon:a()};l&&(l.freight!==void 0&&(S.shipping=i(l.freight)),l.tax!==void 0&&(S.tax=i(l.tax)));let A=1;const{dataLayer:y,__sendGTMExtraPurchaseData:P}=window;if(y&&P){const n={};let e;if(p){n.customerDisplayName=N.value;let c=p.value.name;if(!c?.given_name)try{const f=sessionStorage.getItem("ecomCustomerAccount");if(f){const C=JSON.parse(f);typeof C=="object"&&C&&(c=C.name)}}catch{}c&&(n.customerGivenName=c.given_name,n.customerFamilyName=c.family_name),n.customerEmail=p.value.main_email,n.customerPhone=k(p.value),e=p.value.addresses?.[0]}try{const c=sessionStorage.getItem("ecomCustomerAddress");if(c){const f=JSON.parse(c);typeof e=="object"&&e?Object.assign(e,f):e=f}}catch{}e&&e.zip&&(n.shippingAddrZip=e.zip,n.shippingAddrStreet=e.street,n.shippingAddrNumber=e.number,e.street&&e.number&&(n.shippingAddrStreet+=`, ${e.number}`),n.shippingAddrCity=e.city,n.shippingAddrProvinceCode=e.province_code),y.push({event:"purchaseExtraData",...n}),A=100}setTimeout(()=>I("purchase",S),A),localStorage.setItem("gtag.orderIdSent",s)}g=!0}};let u;const d=({name:s,params:t})=>{switch(s){case"cart":r("view_cart");break;case"checkout":t.step?Number(t.step)===1?r("add_shipping_info"):Number(t.step)===2&&r("add_payment_info"):r("begin_checkout");break;case"confirmation":clearTimeout(u),t.json?m(t.id,decodeURIComponent(t.json)):u=setTimeout(()=>{m(t.id)},1500);break}};o.currentRoute&&d(o.currentRoute),o.afterEach(d)}};{Object.keys(O).length&&sessionStorage.setItem("ecomUtm",JSON.stringify(O));let o=window.location.search;!o&&window.location.hash&&(o="?"+window.location.hash.split("?")[1]);const a=new URLSearchParams(o);a.get("product_id")&&a.get("quantity")==="1"&&(localStorage.setItem("ecomShoppingCart__tmp",JSON.stringify({items:[{product_id:a.get("product_id"),variation_id:a.get("variation_id")||void 0,quantity:1}]})),window.ECOM_CART_STORAGE_KEY="ecomShoppingCart__tmp");const{hostname:i}=window.location,{domain:h}=globalThis.$storefront.settings,r=`https://ecomplus.io/v2/:${window.ECOM_STORE_ID}/`;window.ECOMCLIENT_API_STORE=r,window.ECOMCLIENT_API_STORE_CACHE=r,window.ECOMCLIENT_API_PASSPORT=r,window.ECOMCLIENT_API_SEARCH=`${r}/search/_els/`,window.ECOMCLIENT_API_MODULES=["localhost","127.0.0.1"].includes(i)?`https://${h}/_api/modules/`:"/_api/modules/";const g=()=>{const{ecomPassport:u}=window;T(E,async()=>{E.value?u.setSession({auth:{...b.auth,id:b.auth?.customer_id,level:3},customer:p.value}):u.checkLogin()&&u.logout()},{immediate:!0}),T(p,d=>{(d.display_name||d.main_email)&&u.setCustomer(d)},{immediate:!0}),setTimeout(M,400)},m=document.createElement("script");m.src="https://cdn.jsdelivr.net/npm/@ecomplus/storefront-app@2.0.0-beta.190/dist/lib/js/app.js",m.onload=g,document.body.appendChild(m)}
@@ -1 +1 @@
1
- import"./hoisted.HGTzAuTI.js";import"./afetch.5c8VmT0-.js";import"./use-analytics.tCrQbW8O.js";import"./customer-session.hXdZh5Ii.js";import"./sf-utils.Z4H-dRBJ.js";import"./index.q6KIyKlJ.js";import"./runtime-core.esm-bundler.XTSAdOlw.js";import"./shopping-cart.ZdSCrjS6.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const t=window.location.search.includes("status=404")?"404Msg":"5xxMsg";document.getElementById(t).style.display="block";document.getElementById("loadingMsg").style.display="none";
1
+ import"./hoisted.Wi6YpdWJ.js";import"./afetch.5c8VmT0-.js";import"./use-analytics.uqK_2k_k.js";import"./customer-session.AcETMuhI.js";import"./sf-utils.Z4H-dRBJ.js";import"./index.q6KIyKlJ.js";import"./runtime-core.esm-bundler.XTSAdOlw.js";import"./shopping-cart.dJsZkyuD.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const t=window.location.search.includes("status=404")?"404Msg":"5xxMsg";document.getElementById(t).style.display="block";document.getElementById("loadingMsg").style.display="none";
@@ -1 +1 @@
1
- import{u as C,w as V,a as I,e as Y,b as $,t as v}from"./use-analytics.tCrQbW8O.js";import{a as H}from"./afetch.5c8VmT0-.js";import{u as R}from"./index.q6KIyKlJ.js";import"./customer-session.hXdZh5Ii.js";import"./sf-utils.Z4H-dRBJ.js";import"./runtime-core.esm-bundler.XTSAdOlw.js";import"./shopping-cart.ZdSCrjS6.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const p={waiting:Promise.resolve(),params:{content_ids:[],content_name:""}},A=(t,e="BRL",n=!1)=>{const a={currency:e,content_category:t.item_category,content_name:t.item_name,value:t.price,content_type:"product"};return n?(a.contents=[{id:t.item_id,quantity:t.quantity}],Number(t.quantity)<0&&(a.value=0)):a.content_ids=[t.item_id],a},W=async({event:t})=>{if(t.name==="page_view")return p.waiting=new Promise(a=>{setTimeout(a,110)}),p.params.content_name=t.params.page_title,[{name:"PageView"}];const{items:e,currency:n}=t.params;if(t.name==="view_item"&&e){const a=e[0];if(a)return a.item_list_id==="product-page"?[{name:"ViewContent",params:A(a,n)}]:(e.forEach(({item_id:i})=>{p.params.content_ids.push(i)}),p.params.content_ids.length>e.length?[{name:null}]:(await p.waiting,[{name:"ViewContent",params:{...p.params,content_type:"product"}}]))}if((t.name==="add_to_cart"||t.name==="remove_from_cart")&&e){const a=t.name==="add_to_cart";return e.map(i=>({name:"AddToCart",params:A({...i,quantity:a?i.quantity||1:-(i.quantity||1)},n,!0)}))}return[{name:null}]},h={waiting:Promise.resolve(),params:{description:"",contents:[]}},w=(t,e=!1)=>{const n={content_id:t.item_id,content_name:t.item_name,price:t.price,content_category:t.item_category,brand:t.item_brand};return e&&(n.quantity=t.quantity),n},D=async({event:t})=>{if(t.name==="page_view")return h.waiting=new Promise(a=>{setTimeout(a,110)}),h.params.description=t.params.page_title,[{name:"PageView"}];const{items:e,currency:n}=t.params;if(t.name==="view_item"&&e){const a=e[0];if(a)return a.item_list_id==="product-page"?[{name:"ViewContent",params:{contents:[w(a)],content_type:"product",currency:n,value:a.price}}]:(e.forEach(i=>{h.params.contents.push(w(i))}),h.params.contents.length>e.length?[{name:null}]:(await h.waiting,[{name:"ViewContent",params:{...h.params,content_type:"product",currency:n}}]))}if((t.name==="add_to_cart"||t.name==="remove_from_cart")&&e){const a=t.name==="add_to_cart";return e.map(i=>{const l=i.quantity||1,{price:d}=i;return{name:"AddToCart",params:{contents:[w({...i,quantity:a?l:-l},!0)],content_type:"product",currency:n,value:a&&typeof d=="number"?l*d:0}}})}return[{name:null}]};let b=[];const F=R(()=>{H("/_analytics",{method:"post",body:{...I(),events:b}}),b=[]},200),_=t=>{b.push(t),F()};{C(),V(async n=>{const{name:a,params:i}=n.event;_({type:"gtag",name:a,params:i});const{gtag:l,dataLayer:d,fbq:s,ttq:c}=window;typeof l=="function"&&l("event",a,i),d&&typeof d.push=="function"&&d.push(["event",a,i]),(await W(n)).forEach(o=>{o.name&&(_({type:"fbq",...o}),typeof s=="function"&&s("track",o.name,o.params))}),(await D(n)).forEach(o=>{o.name&&(_({type:"ttk",...o}),typeof c?.page=="function"&&(o.name==="PageView"?c.page():c.track(o.name,o.params)))})});let t="";const e=()=>{const n=window.location.toString();n!==t&&(Y("page_view",{...$(),page_location:n,client_id:v.g_client_id||v.client_id}),t=n)};e(),window.addEventListener("storefront:apiContext",()=>{try{window.dataLayer.push(function(){this.reset(),e()})}catch{e()}})}const y=t=>history.replaceState(t,""),k=!!document.startViewTransition,g=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),q=t=>document.dispatchEvent(new Event(t)),P=()=>q("astro:load"),f="data-astro-transition-persist";let m=history.state?.index||0;!history.state&&g()&&y({index:m,scrollY:0});const G=(t,e)=>{let n=!1,a=!1;return(...i)=>{if(n){a=!0;return}t(...i),n=!0,setTimeout(()=>{a&&(a=!1,t(...i)),n=!1},e)}};async function M(t){const e=await fetch(t),n=await e.text();return{ok:e.ok,html:n}}function x(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function L(){for(const t of document.scripts)t.dataset.astroExec=""}function K(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(e.dataset.astroExec==="")continue;const n=document.createElement("script");n.innerHTML=e.innerHTML;for(const a of e.attributes){if(a.name==="src"){const i=new Promise(l=>{n.onload=l});t=t.then(()=>i)}n.setAttribute(a.name,a.value)}n.dataset.astroExec="",e.replaceWith(n)}return t}const B=new DOMParser;async function T(t,e,n){const a=B.parseFromString(t,"text/html"),i=s=>{const c=s.getAttribute(f),u=c&&a.head.querySelector(`[${f}="${c}"]`);if(u)return u;if(s.matches("link[rel=stylesheet]")){const r=s.getAttribute("href");return a.head.querySelector(`link[rel=stylesheet][href="${r}"]`)}if(s.tagName==="SCRIPT"){let r=s;for(const o of a.scripts)if(r.textContent&&r.textContent===o.textContent||r.type===o.type&&r.src&&r.src===o.src)return o}return null},l=()=>{a.querySelectorAll("head noscript").forEach(r=>r.remove());const s=document.documentElement,c=[...s.attributes].filter(({name:r})=>(s.removeAttribute(r),r.startsWith("data-astro-")));[...a.documentElement.attributes,...c].forEach(({name:r,value:o})=>s.setAttribute(r,o));for(const r of Array.from(document.head.children)){const o=i(r);o?o.remove():r.remove()}document.head.append(...a.head.children);const u=document.body;document.body.replaceWith(a.body);for(const r of u.querySelectorAll(`[${f}]`)){const o=r.getAttribute(f),E=document.querySelector(`[${f}="${o}"]`);E&&E.replaceWith(r)}if(scrollTo({left:0,top:0,behavior:"instant"}),e?.scrollY===0&&location.hash){const r=decodeURIComponent(location.hash.slice(1)),o=document.getElementById(r);o&&(e.scrollY=o.offsetTop,y(e),o.scrollIntoView())}else e&&e.scrollY!==0&&scrollTo(0,e.scrollY);q("astro:beforeload")},d=[];for(const s of a.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${f}="${s.getAttribute(f)}"], link[rel=stylesheet]`)){const c=document.createElement("link");c.setAttribute("rel","preload"),c.setAttribute("as","style"),c.setAttribute("href",s.getAttribute("href")),d.push(new Promise(u=>{["load","error"].forEach(r=>c.addEventListener(r,u)),document.head.append(c)}))}if(d.length&&await Promise.all(d),n==="animate"){let s=!1;addEventListener("animationstart",()=>s=!0,{once:!0}),document.documentElement.dataset.astroTransitionFallback="old",await new Promise(c=>{const u=()=>{removeEventListener("animationend",u),clearTimeout(r),l(),c(!0),document.documentElement.dataset.astroTransitionFallback="new"};addEventListener("animationend",u,{once:!0});let r=setTimeout(()=>!s&&u())})}else l()}async function S(t,e,n){let a;const{html:i,ok:l}=await M(e);if(!l){location.href=e;return}document.documentElement.dataset.astroTransition=t,k?a=document.startViewTransition(()=>T(i,n)).finished:a=T(i,n,x());try{await a}finally{await K(),L(),P()}}function N(t){if(document.querySelector(`link[rel=prefetch][href="${t}"]`))return;if(navigator.connection){let n=navigator.connection;if(n.saveData||/(2|3)g/.test(n.effectiveType||""))return}let e=document.createElement("link");e.setAttribute("rel","prefetch"),e.setAttribute("href",t),document.head.append(e)}(k||x()!=="none")&&!location.pathname.startsWith("/app/")&&(L(),document.addEventListener("click",t=>{let e=t.target;if(e instanceof Element&&e.tagName!=="A"&&(e=e.closest("a")),!e||!(e instanceof HTMLAnchorElement)||e.dataset.astroReload!==void 0||e.hasAttribute("download")||!e.href||e.pathname.startsWith("/app/")||e.target&&e.target!=="_self"||e.origin!==location.origin||t.button!==0||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||!g())return;if(location.pathname===e.pathname&&location.search===e.search){if(e.hash)return;if(t.preventDefault(),y({...history.state,scrollY}),scrollTo({left:0,top:0,behavior:"instant"}),location.hash){const a={index:++m,scrollY:0};history.pushState(a,"",e.href)}return}t.preventDefault(),S("forward",e.href,{index:++m,scrollY:0});const n={index:m,scrollY};y({index:m-1,scrollY}),history.pushState(n,"",e.href)}),addEventListener("popstate",t=>{if(!g()&&t.state){location.reload();return}if(t.state===null)return;const e=history.state,n=e?.index??m+1,a=n>m?"forward":"back";S(a,location.href,e),m=n}),["mouseenter","touchstart","focus"].forEach(t=>{document.addEventListener(t,e=>{if(e.target instanceof HTMLAnchorElement){let n=e.target;n.origin===location.origin&&n.pathname!==location.pathname&&!n.pathname.startsWith("/app/")&&n.dataset.astroReload===void 0&&!n.hasAttribute("download")&&n.role!=="button"&&g()&&N(n.pathname)}},{passive:!0,capture:!0})}),addEventListener("load",P),addEventListener("scroll",G(()=>{history.state&&y({...history.state,scrollY})},300),{passive:!0}));
1
+ import{u as C,w as V,a as I,e as Y,b as $,t as v}from"./use-analytics.uqK_2k_k.js";import{a as H}from"./afetch.5c8VmT0-.js";import{u as R}from"./index.q6KIyKlJ.js";import"./customer-session.AcETMuhI.js";import"./sf-utils.Z4H-dRBJ.js";import"./runtime-core.esm-bundler.XTSAdOlw.js";import"./shopping-cart.dJsZkyuD.js";import"./price.Easct8WC.js";import"./name.urFqJ5yn.js";import"./i18n.Lxnz1oF-.js";const p={waiting:Promise.resolve(),params:{content_ids:[],content_name:""}},A=(t,e="BRL",n=!1)=>{const a={currency:e,content_category:t.item_category,content_name:t.item_name,value:t.price,content_type:"product"};return n?(a.contents=[{id:t.item_id,quantity:t.quantity}],Number(t.quantity)<0&&(a.value=0)):a.content_ids=[t.item_id],a},W=async({event:t})=>{if(t.name==="page_view")return p.waiting=new Promise(a=>{setTimeout(a,110)}),p.params.content_name=t.params.page_title,[{name:"PageView"}];const{items:e,currency:n}=t.params;if(t.name==="view_item"&&e){const a=e[0];if(a)return a.item_list_id==="product-page"?[{name:"ViewContent",params:A(a,n)}]:(e.forEach(({item_id:i})=>{p.params.content_ids.push(i)}),p.params.content_ids.length>e.length?[{name:null}]:(await p.waiting,[{name:"ViewContent",params:{...p.params,content_type:"product"}}]))}if((t.name==="add_to_cart"||t.name==="remove_from_cart")&&e){const a=t.name==="add_to_cart";return e.map(i=>({name:"AddToCart",params:A({...i,quantity:a?i.quantity||1:-(i.quantity||1)},n,!0)}))}return[{name:null}]},h={waiting:Promise.resolve(),params:{description:"",contents:[]}},w=(t,e=!1)=>{const n={content_id:t.item_id,content_name:t.item_name,price:t.price,content_category:t.item_category,brand:t.item_brand};return e&&(n.quantity=t.quantity),n},D=async({event:t})=>{if(t.name==="page_view")return h.waiting=new Promise(a=>{setTimeout(a,110)}),h.params.description=t.params.page_title,[{name:"PageView"}];const{items:e,currency:n}=t.params;if(t.name==="view_item"&&e){const a=e[0];if(a)return a.item_list_id==="product-page"?[{name:"ViewContent",params:{contents:[w(a)],content_type:"product",currency:n,value:a.price}}]:(e.forEach(i=>{h.params.contents.push(w(i))}),h.params.contents.length>e.length?[{name:null}]:(await h.waiting,[{name:"ViewContent",params:{...h.params,content_type:"product",currency:n}}]))}if((t.name==="add_to_cart"||t.name==="remove_from_cart")&&e){const a=t.name==="add_to_cart";return e.map(i=>{const l=i.quantity||1,{price:d}=i;return{name:"AddToCart",params:{contents:[w({...i,quantity:a?l:-l},!0)],content_type:"product",currency:n,value:a&&typeof d=="number"?l*d:0}}})}return[{name:null}]};let b=[];const F=R(()=>{H("/_analytics",{method:"post",body:{...I(),events:b}}),b=[]},200),_=t=>{b.push(t),F()};{C(),V(async n=>{const{name:a,params:i}=n.event;_({type:"gtag",name:a,params:i});const{gtag:l,dataLayer:d,fbq:s,ttq:c}=window;typeof l=="function"&&l("event",a,i),d&&typeof d.push=="function"&&d.push(["event",a,i]),(await W(n)).forEach(o=>{o.name&&(_({type:"fbq",...o}),typeof s=="function"&&s("track",o.name,o.params))}),(await D(n)).forEach(o=>{o.name&&(_({type:"ttk",...o}),typeof c?.page=="function"&&(o.name==="PageView"?c.page():c.track(o.name,o.params)))})});let t="";const e=()=>{const n=window.location.toString();n!==t&&(Y("page_view",{...$(),page_location:n,client_id:v.g_client_id||v.client_id}),t=n)};e(),window.addEventListener("storefront:apiContext",()=>{try{window.dataLayer.push(function(){this.reset(),e()})}catch{e()}})}const y=t=>history.replaceState(t,""),k=!!document.startViewTransition,g=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),q=t=>document.dispatchEvent(new Event(t)),P=()=>q("astro:load"),f="data-astro-transition-persist";let m=history.state?.index||0;!history.state&&g()&&y({index:m,scrollY:0});const G=(t,e)=>{let n=!1,a=!1;return(...i)=>{if(n){a=!0;return}t(...i),n=!0,setTimeout(()=>{a&&(a=!1,t(...i)),n=!1},e)}};async function M(t){const e=await fetch(t),n=await e.text();return{ok:e.ok,html:n}}function x(){const t=document.querySelector('[name="astro-view-transitions-fallback"]');return t?t.getAttribute("content"):"animate"}function L(){for(const t of document.scripts)t.dataset.astroExec=""}function K(){let t=Promise.resolve();for(const e of Array.from(document.scripts)){if(e.dataset.astroExec==="")continue;const n=document.createElement("script");n.innerHTML=e.innerHTML;for(const a of e.attributes){if(a.name==="src"){const i=new Promise(l=>{n.onload=l});t=t.then(()=>i)}n.setAttribute(a.name,a.value)}n.dataset.astroExec="",e.replaceWith(n)}return t}const B=new DOMParser;async function T(t,e,n){const a=B.parseFromString(t,"text/html"),i=s=>{const c=s.getAttribute(f),u=c&&a.head.querySelector(`[${f}="${c}"]`);if(u)return u;if(s.matches("link[rel=stylesheet]")){const r=s.getAttribute("href");return a.head.querySelector(`link[rel=stylesheet][href="${r}"]`)}if(s.tagName==="SCRIPT"){let r=s;for(const o of a.scripts)if(r.textContent&&r.textContent===o.textContent||r.type===o.type&&r.src&&r.src===o.src)return o}return null},l=()=>{a.querySelectorAll("head noscript").forEach(r=>r.remove());const s=document.documentElement,c=[...s.attributes].filter(({name:r})=>(s.removeAttribute(r),r.startsWith("data-astro-")));[...a.documentElement.attributes,...c].forEach(({name:r,value:o})=>s.setAttribute(r,o));for(const r of Array.from(document.head.children)){const o=i(r);o?o.remove():r.remove()}document.head.append(...a.head.children);const u=document.body;document.body.replaceWith(a.body);for(const r of u.querySelectorAll(`[${f}]`)){const o=r.getAttribute(f),E=document.querySelector(`[${f}="${o}"]`);E&&E.replaceWith(r)}if(scrollTo({left:0,top:0,behavior:"instant"}),e?.scrollY===0&&location.hash){const r=decodeURIComponent(location.hash.slice(1)),o=document.getElementById(r);o&&(e.scrollY=o.offsetTop,y(e),o.scrollIntoView())}else e&&e.scrollY!==0&&scrollTo(0,e.scrollY);q("astro:beforeload")},d=[];for(const s of a.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${f}="${s.getAttribute(f)}"], link[rel=stylesheet]`)){const c=document.createElement("link");c.setAttribute("rel","preload"),c.setAttribute("as","style"),c.setAttribute("href",s.getAttribute("href")),d.push(new Promise(u=>{["load","error"].forEach(r=>c.addEventListener(r,u)),document.head.append(c)}))}if(d.length&&await Promise.all(d),n==="animate"){let s=!1;addEventListener("animationstart",()=>s=!0,{once:!0}),document.documentElement.dataset.astroTransitionFallback="old",await new Promise(c=>{const u=()=>{removeEventListener("animationend",u),clearTimeout(r),l(),c(!0),document.documentElement.dataset.astroTransitionFallback="new"};addEventListener("animationend",u,{once:!0});let r=setTimeout(()=>!s&&u())})}else l()}async function S(t,e,n){let a;const{html:i,ok:l}=await M(e);if(!l){location.href=e;return}document.documentElement.dataset.astroTransition=t,k?a=document.startViewTransition(()=>T(i,n)).finished:a=T(i,n,x());try{await a}finally{await K(),L(),P()}}function N(t){if(document.querySelector(`link[rel=prefetch][href="${t}"]`))return;if(navigator.connection){let n=navigator.connection;if(n.saveData||/(2|3)g/.test(n.effectiveType||""))return}let e=document.createElement("link");e.setAttribute("rel","prefetch"),e.setAttribute("href",t),document.head.append(e)}(k||x()!=="none")&&!location.pathname.startsWith("/app/")&&(L(),document.addEventListener("click",t=>{let e=t.target;if(e instanceof Element&&e.tagName!=="A"&&(e=e.closest("a")),!e||!(e instanceof HTMLAnchorElement)||e.dataset.astroReload!==void 0||e.hasAttribute("download")||!e.href||e.pathname.startsWith("/app/")||e.target&&e.target!=="_self"||e.origin!==location.origin||t.button!==0||t.metaKey||t.ctrlKey||t.altKey||t.shiftKey||t.defaultPrevented||!g())return;if(location.pathname===e.pathname&&location.search===e.search){if(e.hash)return;if(t.preventDefault(),y({...history.state,scrollY}),scrollTo({left:0,top:0,behavior:"instant"}),location.hash){const a={index:++m,scrollY:0};history.pushState(a,"",e.href)}return}t.preventDefault(),S("forward",e.href,{index:++m,scrollY:0});const n={index:m,scrollY};y({index:m-1,scrollY}),history.pushState(n,"",e.href)}),addEventListener("popstate",t=>{if(!g()&&t.state){location.reload();return}if(t.state===null)return;const e=history.state,n=e?.index??m+1,a=n>m?"forward":"back";S(a,location.href,e),m=n}),["mouseenter","touchstart","focus"].forEach(t=>{document.addEventListener(t,e=>{if(e.target instanceof HTMLAnchorElement){let n=e.target;n.origin===location.origin&&n.pathname!==location.pathname&&!n.pathname.startsWith("/app/")&&n.dataset.astroReload===void 0&&!n.hasAttribute("download")&&n.role!=="button"&&g()&&N(n.pathname)}},{passive:!0,capture:!0})}),addEventListener("load",P),addEventListener("scroll",G(()=>{history.state&&y({...history.state,scrollY})},300),{passive:!0}));
@@ -193,7 +193,7 @@ var st={};/**
193
193
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
194
194
  * See the License for the specific language governing permissions and
195
195
  * limitations under the License.
196
- */class ur{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(hr(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function hr(n){const e=n.getComponent();return e?.type==="VERSION"}const Be="@firebase/app",dt="0.9.25";/**
196
+ */class ur{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(t=>{if(hr(t)){const r=t.getImmediate();return`${r.library}/${r.version}`}else return null}).filter(t=>t).join(" ")}}function hr(n){const e=n.getComponent();return e?.type==="VERSION"}const Be="@firebase/app",dt="0.9.26";/**
197
197
  * @license
198
198
  * Copyright 2019 Google LLC
199
199
  *
@@ -208,7 +208,7 @@ var st={};/**
208
208
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
209
209
  * See the License for the specific language governing permissions and
210
210
  * limitations under the License.
211
- */const U=new Bt("@firebase/app"),fr="@firebase/app-compat",pr="@firebase/analytics-compat",gr="@firebase/analytics",mr="@firebase/app-check-compat",_r="@firebase/app-check",vr="@firebase/auth",Ir="@firebase/auth-compat",yr="@firebase/database",Er="@firebase/database-compat",wr="@firebase/functions",br="@firebase/functions-compat",Tr="@firebase/installations",Sr="@firebase/installations-compat",Ar="@firebase/messaging",Cr="@firebase/messaging-compat",kr="@firebase/performance",Rr="@firebase/performance-compat",Pr="@firebase/remote-config",Or="@firebase/remote-config-compat",Nr="@firebase/storage",Dr="@firebase/storage-compat",Lr="@firebase/firestore",Mr="@firebase/firestore-compat",Ur="firebase",Fr="10.7.1";/**
211
+ */const U=new Bt("@firebase/app"),fr="@firebase/app-compat",pr="@firebase/analytics-compat",gr="@firebase/analytics",mr="@firebase/app-check-compat",_r="@firebase/app-check",vr="@firebase/auth",Ir="@firebase/auth-compat",yr="@firebase/database",Er="@firebase/database-compat",wr="@firebase/functions",br="@firebase/functions-compat",Tr="@firebase/installations",Sr="@firebase/installations-compat",Ar="@firebase/messaging",Cr="@firebase/messaging-compat",kr="@firebase/performance",Rr="@firebase/performance-compat",Pr="@firebase/remote-config",Or="@firebase/remote-config-compat",Nr="@firebase/storage",Dr="@firebase/storage-compat",Lr="@firebase/firestore",Mr="@firebase/firestore-compat",Ur="firebase",Fr="10.7.2";/**
212
212
  * @license
213
213
  * Copyright 2019 Google LLC
214
214
  *
@@ -298,7 +298,7 @@ var st={};/**
298
298
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
299
299
  * See the License for the specific language governing permissions and
300
300
  * limitations under the License.
301
- */const jr="firebase-heartbeat-database",zr=1,X="firebase-heartbeat-store";let De=null;function $t(){return De||(De=cr(jr,zr,{upgrade:(n,e)=>{switch(e){case 0:n.createObjectStore(X)}}}).catch(n=>{throw O.create("idb-open",{originalErrorMessage:n.message})})),De}async function Gr(n){try{return await(await $t()).transaction(X).objectStore(X).get(Wt(n))}catch(e){if(e instanceof N)U.warn(e.message);else{const t=O.create("idb-get",{originalErrorMessage:e?.message});U.warn(t.message)}}}async function ut(n,e){try{const r=(await $t()).transaction(X,"readwrite");await r.objectStore(X).put(e,Wt(n)),await r.done}catch(t){if(t instanceof N)U.warn(t.message);else{const r=O.create("idb-set",{originalErrorMessage:t?.message});U.warn(r.message)}}}function Wt(n){return`${n.name}!${n.options.appId}`}/**
301
+ */const jr="firebase-heartbeat-database",zr=1,X="firebase-heartbeat-store";let De=null;function $t(){return De||(De=cr(jr,zr,{upgrade:(n,e)=>{switch(e){case 0:try{n.createObjectStore(X)}catch(t){console.warn(t)}}}}).catch(n=>{throw O.create("idb-open",{originalErrorMessage:n.message})})),De}async function Gr(n){try{return await(await $t()).transaction(X).objectStore(X).get(Wt(n))}catch(e){if(e instanceof N)U.warn(e.message);else{const t=O.create("idb-get",{originalErrorMessage:e?.message});U.warn(t.message)}}}async function ut(n,e){try{const r=(await $t()).transaction(X,"readwrite");await r.objectStore(X).put(e,Wt(n)),await r.done}catch(t){if(t instanceof N)U.warn(t.message);else{const r=O.create("idb-set",{originalErrorMessage:t?.message});U.warn(r.message)}}}function Wt(n){return`${n.name}!${n.options.appId}`}/**
302
302
  * @license
303
303
  * Copyright 2021 Google LLC
304
304
  *
@@ -1 +1 @@
1
- import{u as _}from"./customer-session.hXdZh5Ii.js";import{u as l}from"./index.q6KIyKlJ.js";import{g as y}from"./price.Easct8WC.js";import{c as m,w as g}from"./runtime-core.esm-bundler.XTSAdOlw.js";const q=()=>{let i=Math.floor(Math.random()*1e6).toString()+Date.now();for(;i.length<24;)i+="0";return i},h=q;function b(i){return{all:i=i||new Map,on:function(t,r){var o=i.get(t);o?o.push(r):i.set(t,[r])},off:function(t,r){var o=i.get(t);o&&(r?o.splice(o.indexOf(r)>>>0,1):i.set(t,[]))},emit:function(t,r){var o=i.get(t);o&&o.slice().map(function(n){n(r)}),(o=i.get("*"))&&o.slice().map(function(n){n(t,r)})}}}const v=(i,{flags:t})=>!i.flags&&!t?!0:!i.flags||!t||i.flags.length!==t.length?!1:i.flags.every(r=>t.includes(r)),C=(i,t)=>{if(typeof t.product_id!="string"||typeof t.quantity!="number"||!(t.quantity>=0)||typeof t.price!="number"||!(t.price>=0))return null;const{items:r}=i;if(!t.kit_product)for(let n=0;n<r.length;n++){const a=r[n];if(!a.kit_product&&a.product_id===t.product_id&&a.variation_id===t.variation_id&&(!a.customizations||!a.customizations.length)&&v(a,t))return a.quantity+=t.quantity,t.price&&(a.price=t.price),t.final_price&&(a.final_price=t.final_price),a}const o={...t};if((!t._id||t._id===t.variation_id||r.find(({_id:n})=>n===t._id))&&(o._id=h()),t.customizations){const n=[];t.customizations.forEach((a,c)=>{n[c]={...a}}),o.customizations=n}return r.push(o),o},k=(i,t,r)=>{(typeof r!="number"||Number.isNaN(r))&&(r=i.min_quantity||1);const o=i.min_quantity||0,n=t&&i.variations?i.variations.find(({_id:c})=>c===t):void 0,a={product_id:i._id,variation_id:t,sku:n?.sku||i.sku,name:n?.name||i.name,slug:i.slug,production_time:n?.production_time||i.production_time,currency_id:i.currency_id,currency_symbol:i.currency_symbol,base_price:n?.base_price||i.base_price,max_quantity:i.quantity,quantity:o>0?Math.max(o,r):r,price:y(i)};return n?.picture_id&&i.pictures&&(a.picture=i.pictures.find(c=>c._id===n.picture_id)),!a.picture&&i.pictures&&([a.picture]=i.pictures),a},E="ecomShoppingCart",x={subtotal:0,items:[]},s=_(E,x),O=m(()=>s.items.reduce((i,t)=>i+t.quantity,0)),z=i=>{C(s,i)},S=i=>{for(let t=0;t<s.items.length;t++)if(s.items[t]._id===i){s.items.splice(t,1);break}},D=(i,t,r)=>z(k(i,t,r)),f=b(),p=()=>s.items.map(i=>({...i}));let e=p();const N=l(i=>{["addCartItem","removeCartItem"].forEach(t=>{const r=t==="addCartItem",o=r?i:e,n=r?e:i;o.forEach(a=>{if(!a.quantity)return;const u=n.find(({_id:d})=>d===a._id)?.quantity||0;a.quantity>u&&f.emit(t,{...a,quantity:a.quantity-u})})}),e=p()},200);g(s.items,i=>{i.forEach(t=>{let r=t.kit_product?.price&&t.kit_product.pack_quantity?t.kit_product.price/t.kit_product.pack_quantity:t.price;Array.isArray(t.customizations)&&t.customizations.forEach(a=>{if(a.add_to_price){const{type:c,addition:u}=a.add_to_price;r+=c==="fixed"?u:t.price*(u/100)}}),t.final_price=r;const o=t.min_quantity||1,n=t.max_quantity;typeof t.quantity!="number"||Number.isNaN(t.quantity)||t.quantity<o?t.quantity=o:n&&t.quantity>n&&(t.quantity=n)}),s.subtotal=i.reduce((t,r)=>t+r.quantity*(r.final_price||r.price),0),N(i)});const Q={on:f.on,off:f.off};export{D as a,Q as c,k as p,S as r,s,O as t};
1
+ import{u as _}from"./customer-session.AcETMuhI.js";import{u as l}from"./index.q6KIyKlJ.js";import{g as y}from"./price.Easct8WC.js";import{c as m,w as g}from"./runtime-core.esm-bundler.XTSAdOlw.js";const q=()=>{let i=Math.floor(Math.random()*1e6).toString()+Date.now();for(;i.length<24;)i+="0";return i},h=q;function b(i){return{all:i=i||new Map,on:function(t,r){var o=i.get(t);o?o.push(r):i.set(t,[r])},off:function(t,r){var o=i.get(t);o&&(r?o.splice(o.indexOf(r)>>>0,1):i.set(t,[]))},emit:function(t,r){var o=i.get(t);o&&o.slice().map(function(n){n(r)}),(o=i.get("*"))&&o.slice().map(function(n){n(t,r)})}}}const v=(i,{flags:t})=>!i.flags&&!t?!0:!i.flags||!t||i.flags.length!==t.length?!1:i.flags.every(r=>t.includes(r)),C=(i,t)=>{if(typeof t.product_id!="string"||typeof t.quantity!="number"||!(t.quantity>=0)||typeof t.price!="number"||!(t.price>=0))return null;const{items:r}=i;if(!t.kit_product)for(let n=0;n<r.length;n++){const a=r[n];if(!a.kit_product&&a.product_id===t.product_id&&a.variation_id===t.variation_id&&(!a.customizations||!a.customizations.length)&&v(a,t))return a.quantity+=t.quantity,t.price&&(a.price=t.price),t.final_price&&(a.final_price=t.final_price),a}const o={...t};if((!t._id||t._id===t.variation_id||r.find(({_id:n})=>n===t._id))&&(o._id=h()),t.customizations){const n=[];t.customizations.forEach((a,c)=>{n[c]={...a}}),o.customizations=n}return r.push(o),o},k=(i,t,r)=>{(typeof r!="number"||Number.isNaN(r))&&(r=i.min_quantity||1);const o=i.min_quantity||0,n=t&&i.variations?i.variations.find(({_id:c})=>c===t):void 0,a={product_id:i._id,variation_id:t,sku:n?.sku||i.sku,name:n?.name||i.name,slug:i.slug,production_time:n?.production_time||i.production_time,currency_id:i.currency_id,currency_symbol:i.currency_symbol,base_price:n?.base_price||i.base_price,max_quantity:i.quantity,quantity:o>0?Math.max(o,r):r,price:y(i)};return n?.picture_id&&i.pictures&&(a.picture=i.pictures.find(c=>c._id===n.picture_id)),!a.picture&&i.pictures&&([a.picture]=i.pictures),a},E="ecomShoppingCart",x={subtotal:0,items:[]},s=_(E,x),O=m(()=>s.items.reduce((i,t)=>i+t.quantity,0)),z=i=>{C(s,i)},S=i=>{for(let t=0;t<s.items.length;t++)if(s.items[t]._id===i){s.items.splice(t,1);break}},D=(i,t,r)=>z(k(i,t,r)),f=b(),p=()=>s.items.map(i=>({...i}));let e=p();const N=l(i=>{["addCartItem","removeCartItem"].forEach(t=>{const r=t==="addCartItem",o=r?i:e,n=r?e:i;o.forEach(a=>{if(!a.quantity)return;const u=n.find(({_id:d})=>d===a._id)?.quantity||0;a.quantity>u&&f.emit(t,{...a,quantity:a.quantity-u})})}),e=p()},200);g(s.items,i=>{i.forEach(t=>{let r=t.kit_product?.price&&t.kit_product.pack_quantity?t.kit_product.price/t.kit_product.pack_quantity:t.price;Array.isArray(t.customizations)&&t.customizations.forEach(a=>{if(a.add_to_price){const{type:c,addition:u}=a.add_to_price;r+=c==="fixed"?u:t.price*(u/100)}}),t.final_price=r;const o=t.min_quantity||1,n=t.max_quantity;typeof t.quantity!="number"||Number.isNaN(t.quantity)||t.quantity<o?t.quantity=o:n&&t.quantity>n&&(t.quantity=n)}),s.subtotal=i.reduce((t,r)=>t+r.quantity*(r.final_price||r.price),0),N(i)});const Q={on:f.on,off:f.off};export{D as a,Q as c,k as p,S as r,s,O as t};
@@ -0,0 +1 @@
1
+ import{u as S,b as $,d as b,c as C}from"./customer-session.AcETMuhI.js";import{c as G}from"./shopping-cart.dJsZkyuD.js";import{a as u,r as N,c as w,L as E,w as v}from"./runtime-core.esm-bundler.XTSAdOlw.js";import{u as R,g as T}from"./index.q6KIyKlJ.js";import{u as x}from"./afetch.5c8VmT0-.js";import{g as P}from"./name.urFqJ5yn.js";import{g as A}from"./price.Easct8WC.js";const L="ecomSeachHistory",f=S(L,[]);for(let t=0;t<f.length;t++)typeof f[t]!="string"&&(f.splice(t,1),t-=1);const M=async({term:t,params:s,fields:n,url:i="search/v1"})=>{if(typeof t=="string"&&(t=t.trim(),t.length<2))return{data:{result:[],meta:null}};const a=await $.get(i,{fields:n,params:t?{...s,term:t}:s});if(t&&a.data.result.length){const r=t,c=f.findIndex(e=>e.includes(r)&&!e.replace(r,"").includes(" "));if(c>-1){const e=f[c];f.splice(c,1),f.unshift(e)}else{const e=f.findIndex(o=>r.startsWith(o));e>-1&&f.splice(e,1),f.unshift(t)}for(;f.length>20;)f.pop()}return a};class K{fields;term=u(null);isWithCount=u(!0);isWithBuckets=u(!0);params=N({});pageSize=u(24);pageNumber=u(1);#i=u(!1);isFetching=w(()=>this.#i.value);#t=u(!1);wasFetched=w(()=>this.#t.value);#s=u(null);#e;fetching=w(()=>this.#s.value);#a=u(null);fetchError=w(()=>this.#a.value);products=E([]);meta=E({offset:0,limit:0,fields:[],sort:[],query:{}});#n;constructor({fields:s,debounce:n=150}={}){this.fields=s,this.#n=R(i=>(this.#i.value=!0,M(i)),n),v([this.term,this.params,this.pageSize],()=>{this.pageNumber.value=1}),v(this.pageNumber,()=>{this.#t.value=!1})}async fetch(s){s!==void 0&&s!==this.term.value&&(this.term.value=s,this.pageNumber.value=1);const n=this.pageSize.value,i=n*(this.pageNumber.value-1);this.#s.value||(this.#s.value=new Promise(r=>{this.#e=r}));let a;try{a=await this.#n({term:this.term.value,params:{...this.params,limit:n,offset:i,count:this.isWithCount.value||void 0,buckets:this.isWithBuckets.value||void 0},fields:this.fields})}catch(r){throw this.#e&&(this.#a.value=r,this.#e()),r}if(a){this.#i.value=!1,this.#t.value=!0;const{data:r}=a;r.meta&&this.setResult(r),this.#e&&this.#e()}}setResult(s){s.meta&&Object.assign(this.meta,s.meta),s.result&&(this.products.splice(0),s.result.forEach(n=>this.products.push(n))),s.meta&&s.result&&(this.#t.value=!0)}}const l={},h={},I=()=>{h.resolve||(h.waiting=new Promise(t=>{h.resolve=t}))};I();const B=()=>({page_location:window.location.toString(),language:globalThis.$storefront.settings.lang||"pt_br",page_title:document.title,user_agent:navigator.userAgent}),V=()=>({...h.params||B(),...l,user_id:C.value._id,utm:x}),y="GtagEvent";let d={},g="";const _=async(t,s)=>{const n=s;if(t==="page_view"){d={};const{apiContext:i}=window.$storefront;if(g="",i){const{name:a}=i.doc;switch(i.resource){case"categories":g=`Category: ${a}`;break;case"brands":g=`Brand: ${a}`;break;case"collections":g=`Collection: ${a}`;break}}else{const{pathname:a}=window.location;a==="/"?g="Home":(/^\/s\/?/.test(a)||a==="/search"||a==="/busca")&&(g="Search results")}h.resolve&&(h.params=s,h.resolve(),h.resolve=null)}else h.waiting&&await h.waiting,t==="view_item"&&n.items?.forEach(i=>{if(i.index!==void 0)return;if(!i.item_list_id&&!i.item_list_name){const{apiContext:r}=window.$storefront;r?.doc._id===i.object_id&&(i.item_list_id="product-page",i.item_list_name="Product page")}const a=i.item_list_id||i.item_list_name||g;a&&(d[a]?d[a]+=1:d[a]=1,i.index=d[a],!i.item_list_id&&!i.item_list_name&&(i.item_list_name=a))}),typeof n.value=="number"&&!n.currency&&(n.currency=window.ECOM_CURRENCY||"BRL");try{const i={type:y,...V(),event:{name:t,params:n}};window.postMessage(i,window.origin)}catch(i){console.error(i)}},O=t=>{window.addEventListener("message",({data:s})=>{s.type===y&&t(s)})},W=t=>{const[s,...n]=P(t).split(" / "),i={item_name:s,item_id:t.sku,price:Math.round(A(t)*100)/100,object_id:t._id};n&&n.length?i.item_variant=n.join(" / "):t.variation_id&&(i.item_name=s.replace(window.__customGTMVariantRegex||/\s[^\s]+$/,""),i.item_variant=s.replace(i.item_name,"").trim()),(t.quantity===0||t.quantity&&t.product_id)&&(i.quantity=t.quantity);const{brands:a,categories:r}=t;if(a?.length&&(i.item_brand=a[0].name),r?.length)for(let c=0;c<r.length;c++){const{name:e}=r[c];if(c===0)i.item_category=e;else if(i[`item_category${c+1}`]=e,c===4)break}return i},Y=({experimentId:t=window.AB_EXPERIMENT_ID}={})=>{document.addEventListener("astro:beforeload",I);const{gtag:s,GTAG_TAG_ID:n,GA_TRACKING_ID:i}=window,a=n||i;if(typeof s=="function"){a&&["client_id","session_id","gclid"].forEach(o=>{s("get",a,o,m=>{l[o==="gclid"?o:`g_${o}`]=m})});const{GIT_BRANCH:e}=window;if(e){const o=t?`${t}-${window.GIT_BRANCH}`:e.startsWith("main-")&&e;o&&s("event","experience_impression",{exp_variant_string:o})}}const r=new URL(window.location.toString());["gclid","fbclid","ttclid"].forEach(e=>{const o=l[e]||r.searchParams.get(e);o?(l[e]=o,sessionStorage.setItem(`analytics_${e}`,o)):l[e]=sessionStorage.getItem(`analytics_${e}`)||void 0});const c=["_fbp"];l.fbclid||c.push("_fbc"),l.g_client_id||c.push("_ga"),c.forEach(e=>{document.cookie.split(";").forEach(o=>{const[m,p]=o.split("=");if(m.trim()===e&&p)switch(e){case"_fbp":l.fbp=p;break;case"_fbc":l.fbclid=p;break;case"_ga":l.g_client_id=p.substring(6);break}})}),["client_id","session_id"].forEach(e=>{const o=e==="client_id"?localStorage:sessionStorage,m=o.getItem(`analytics_${e}`);m?l[e]=m:l[e]=l[`g_${e}`]||`${Math.ceil(Math.random()*1e6)}.${Math.ceil(Math.random()*1e6)}`,o.setItem(`analytics_${e}`,l[e])}),b.value?_("login",{}):T(b,()=>_("login",{})),G.on("*",(e,o)=>{_(e==="addCartItem"?"add_to_cart":"remove_from_cart",{items:[W(o)]})}),v(f,()=>{const e=f[0];e&&_("search",{search_term:e})}),window.location.pathname.startsWith("/s")&&setTimeout(()=>{let e=new URLSearchParams(window.location.search).get("q");e||(e=decodeURIComponent(window.location.pathname.split("/")[2])),e&&typeof e=="string"&&_("view_search_results",{search_term:e})},300)};export{K as S,V as a,B as b,_ as e,W as g,f as s,l as t,Y as u,O as w};
@@ -1 +1 @@
1
- import{b as k}from"./customer-session.hXdZh5Ii.js";import{s as p}from"./sf-utils.Z4H-dRBJ.js";import{e as I,g as P}from"./use-analytics.tCrQbW8O.js";import{g,c as w}from"./price.Easct8WC.js";import"./index.q6KIyKlJ.js";import{a as f,L as N,c as n}from"./runtime-core.esm-bundler.XTSAdOlw.js";import{g as q}from"./name.urFqJ5yn.js";import{g as E}from"./img.WnsidxCx.js";const O=t=>t&&t.min_quantity||1,S=O,$=t=>!t.hasOwnProperty("quantity")||t.quantity>=S(t),G=$,M=t=>{const a=f(!1);let s=null;const c=f(null),{productId:r}=t,e=N({...t.product,_id:t.product?._id||r,price:g(t.product||{})});!t.product&&r&&(a.value=!0,s=(async()=>{try{const{data:i}=await k.get(`products/${r}`);Object.assign(e,i)}catch(i){console.error(i),c.value=i}a.value=!1})());const d=n(()=>q(e)),h=n(()=>{const{slug:i}=e;return typeof i=="string"?`/${i}`:null}),v=n(()=>{const{pictures:i}=e,m=[];return i&&i.forEach(b=>{const l=E(b);l&&m.push(l)}),m}),o=n(()=>G(e)),u=n(()=>o.value&&e.available&&e.visible),_=n(()=>{if(w(e)){const i=e.base_price;return Math.round((i-g(e))*100/i)}return 0}),y=n(()=>e.has_variations?!0:!!e.variations?.length);return I("view_item",{value:u.value?e.price:0,items:[{...P(e),item_list_name:t.listName,item_list_id:t.listId||t.listName&&p(t.listName)}]}),{isFetching:a,fetching:s,fetchError:c,product:e,title:d,link:h,images:v,isInStock:o,isActive:u,discountPercentage:_,hasVariations:y}};export{G as c,M as u};
1
+ import{b as k}from"./customer-session.AcETMuhI.js";import{s as p}from"./sf-utils.Z4H-dRBJ.js";import{e as I,g as P}from"./use-analytics.uqK_2k_k.js";import{g,c as w}from"./price.Easct8WC.js";import"./index.q6KIyKlJ.js";import{a as f,L as N,c as n}from"./runtime-core.esm-bundler.XTSAdOlw.js";import{g as q}from"./name.urFqJ5yn.js";import{g as E}from"./img.WnsidxCx.js";const O=t=>t&&t.min_quantity||1,S=O,$=t=>!t.hasOwnProperty("quantity")||t.quantity>=S(t),G=$,M=t=>{const a=f(!1);let s=null;const c=f(null),{productId:r}=t,e=N({...t.product,_id:t.product?._id||r,price:g(t.product||{})});!t.product&&r&&(a.value=!0,s=(async()=>{try{const{data:i}=await k.get(`products/${r}`);Object.assign(e,i)}catch(i){console.error(i),c.value=i}a.value=!1})());const d=n(()=>q(e)),h=n(()=>{const{slug:i}=e;return typeof i=="string"?`/${i}`:null}),v=n(()=>{const{pictures:i}=e,m=[];return i&&i.forEach(b=>{const l=E(b);l&&m.push(l)}),m}),o=n(()=>G(e)),u=n(()=>o.value&&e.available&&e.visible),_=n(()=>{if(w(e)){const i=e.base_price;return Math.round((i-g(e))*100/i)}return 0}),y=n(()=>e.has_variations?!0:!!e.variations?.length);return I("view_item",{value:u.value?e.price:0,items:[{...P(e),item_list_name:t.listName,item_list_id:t.listId||t.listName&&p(t.listName)}]}),{isFetching:a,fetching:s,fetchError:c,product:e,title:d,link:h,images:v,isInStock:o,isActive:u,discountPercentage:_,hasVariations:y}};export{G as c,M as u};
@@ -0,0 +1,98 @@
1
+ <!DOCTYPE html>
2
+ <html lang="pt-br">
3
+ <head data-capo=""><meta charset="UTF-8"><meta name="viewport" content="width=device-width"><title>Erro | E-Com Plus demoStore</title><script data-astro-transition-persist="astro-kvdive2p-1">
4
+ window._emitApiContext = (id = null) => {
5
+ console.log('[ctx] emit ' + id);
6
+ window.dispatchEvent(new Event('storefront:apiContext'));
7
+ window._emitedContextId = id;
8
+ };
9
+ window.ECOM_STORE_ID = 1011;
10
+ window.ECOM_LANG = 'pt_br';
11
+ window.ECOM_CURRENCY = 'BRL';
12
+ window.ECOM_CURRENCY_SYMBOL = 'R$';
13
+ window.ECOM_COUNTRY_CODE = 'BR';
14
+ window.GIT_BRANCH = '';
15
+ window.$storefront = {"settings":{"domain":"demo.ecomplus.app","name":"E-Com Plus demoStore","description":"E-Com Plus é a plataforma de e-commerce API-first desenhada para modelos de negócio e experiências de compra únicas. Flexibilidade do código aberto com facilidade de SaaS para que você comece rápido, venda do seu jeito e escale sem limitações.","logo":"/img/uploads/logo.png","icon":"/img/uploads/ecom-icon.png","primaryColor":"#37003c","email":"","phone":"","address":"","corporateName":"","docNumber":"","lang":"pt_br","currency":"BRL","currencySymbol":"R$","countryCode":"BR","whatsapp":"(31) 9 8272-1558","instagram":"https://www.instagram.com/ecomclub/","facebook":"https://www.facebook.com/ecom.clubpage/","twitter":"","youtube":"https://www.youtube.com/channel/UCBlIxK5JAub0E1EX_qHdzmA","tiktok":"","pinterest":"","threads":"","serviceLinks":[{"title":"Fale conosco","href":"/p/contato"},{"title":"Privacidade e termos","href":"/p/terms"}],"paymentMethods":["pix","visa","mastercard","elo","amex","hipercard","boleto"],"modules":{"list_payments":{"installments_option":{"max_number":null,"monthly_interest":null,"min_installment":null},"discount_option":{"label":null,"apply_at":null,"type":null,"value":null},"loyalty_points_program":{"id":null,"name":null,"ratio":null,"earn_percentage":null}},"calculate_shipping":{"free_shipping_from_value":200}}},"data":{}};
16
+ window._firstLoadContextId = null;</script><script>
17
+ $storefront.apiContext = null;
18
+ delete $storefront.apiContext;
19
+ delete $storefront.context;
20
+ _emitApiContext();</script><script>
21
+ window.$firebaseConfig = {
22
+ apiKey: "AIzaSyCnvm7QrPKzSBrUi09Z3zTgjDST0t4Yikg",
23
+ authDomain: "ecom2-demo.firebaseapp.com",
24
+ projectId: "ecom2-demo",
25
+ storageBucket: "ecom2-demo.appspot.com",
26
+ messagingSenderId: "70369627313",
27
+ appId: "1:70369627313:web:06634033b9c6208fe7e690",
28
+ };
29
+ </script><link rel="stylesheet" href="/_astro/_slug_.r344YGqG.css"><script type="module" src="/_astro/hoisted.WBjTfX6e.js"></script><meta name="theme-color" content="#37003c"><link rel="icon" type="image/png" href="/_image?f=png&#38;w=32&#38;h=32&#38;href=%2Fimg%2Fuploads%2Fecom-icon.png&#38;V=_" sizes="32x32"><link rel="icon" type="image/png" href="/_image?f=png&#38;w=192&#38;h=192&#38;href=%2Fimg%2Fuploads%2Fecom-icon.png&#38;V=_" sizes="192x192"><meta name="description" content="E-Com Plus é a plataforma de e-commerce API-first desenhada para modelos de negócio e experiências de compra únicas. Flexibilidade do código aberto com facilidade de SaaS para que você comece rápido, venda do seu jeito e escale sem limitações."><meta name="author" content="E-Com Plus demoStore"><meta name="generator" content="Astro v4.2.1"><link rel="canonical" href="https://demo.ecomplus.app/~fallback/"><link rel="apple-touch-icon" href="/_image?f=png&#38;w=192&#38;h=192&#38;href=%2Fimg%2Fuploads%2Fecom-icon.png&#38;V=_"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta property="og:site_name" content="E-Com Plus demoStore"><meta property="og:url" content="https://demo.ecomplus.app/~fallback/"><meta property="og:title" content=""><meta property="og:description" content="E-Com Plus é a plataforma de e-commerce API-first desenhada para modelos de negócio e experiências de compra únicas. Flexibilidade do código aberto com facilidade de SaaS para que você comece rápido, venda do seu jeito e escale sem limitações."><meta property="og:type" content="website"><meta property="og:locale" content="ptBR"><meta name="twitter:card" content="summary"><meta name="ecom-store-id" content="1011"><script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","name":"E-Com Plus demoStore","url":"https://demo.ecomplus.app/","logo":"https://demo.ecomplus.app/img/uploads/logo.png"}</script><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="none"></head>
30
+ <body style="visibility:hidden" class="!visible"> <!-- Prevent FOUC -->
31
+ <div id="teleported-overlap" class="relative z-[59]"></div>
32
+ <div id="teleported-top" class="relative z-[19]"></div>
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+ <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var i=t=>{let e=async()=>{await(await t())()};"requestIdleCallback"in window?window.requestIdleCallback(e):setTimeout(e,200)};(self.Astro||(self.Astro={})).idle=i;window.dispatchEvent(new Event("astro:idle"));})();;(()=>{var b=Object.defineProperty;var f=(c,o,i)=>o in c?b(c,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):c[o]=i;var l=(c,o,i)=>(f(c,typeof o!="symbol"?o+"":o,i),i);var p;{let c={0:t=>m(t),1:t=>i(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(i(t)),5:t=>new Set(i(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[e,r]=t;return e in c?c[e](r):void 0},i=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([e,r])=>[e,o(r)]));customElements.get("astro-island")||customElements.define("astro-island",(p=class extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var d;if(!this.hydrator||!this.isConnected)return;let e=(d=this.parentElement)==null?void 0:d.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let r=this.querySelectorAll("astro-slot"),a={},h=this.querySelectorAll("template[data-astro-template]");for(let n of h){let s=n.closest(this.tagName);s!=null&&s.isSameNode(this)&&(a[n.getAttribute("data-astro-template")||"default"]=n.innerHTML,n.remove())}for(let n of r){let s=n.closest(this.tagName);s!=null&&s.isSameNode(this)&&(a[n.getAttribute("name")||"default"]=n.innerHTML)}let u;try{u=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(n){let s=this.getAttribute("component-url")||"<unknown>",y=this.getAttribute("component-export");throw y&&(s+=` (export ${y})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),n),n}await this.hydrator(this)(this.Component,u,a,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),r.disconnect(),this.childrenConnectedCallback()},r=new MutationObserver(()=>{var a;((a=this.lastChild)==null?void 0:a.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});r.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}start(){let e=JSON.parse(this.getAttribute("opts")),r=this.getAttribute("client");if(Astro[r]===void 0){window.addEventListener(`astro:${r}`,()=>this.start(),{once:!0});return}Astro[r](async()=>{let a=this.getAttribute("renderer-url"),[h,{default:u}]=await Promise.all([import(this.getAttribute("component-url")),a?import(a):()=>()=>{}]),d=this.getAttribute("component-export")||"default";if(!d.includes("."))this.Component=h[d];else{this.Component=h;for(let n of d.split("."))this.Component=this.Component[n]}return this.hydrator=u,this.hydrate},e,this)}attributeChangedCallback(){this.hydrate()}},l(p,"observedAttributes",["props"]),p))}})();</script><astro-island uid="2c4lhG" component-url="/_astro/PitchBar.Nr7T3S3T.js" component-export="default" renderer-url="/_astro/client.ZhEmw4hZ.js" props="{&quot;slides&quot;:[1,[[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;]}]]]}" ssr="" client="idle" opts="{&quot;name&quot;:&quot;PitchBar&quot;,&quot;value&quot;:true}" await-children=""><div class="bg-base-100 relative z-20"><div class="container mx-auto px-3 py-1 md:w-2/3"><div class="relative" data-carousel><ul class="m-0 flex snap-mandatory list-none scroll-smooth p-0 [&amp;&gt;*]:snap-start [&amp;&gt;*]:outline-none snap-x overflow-y-hidden overflow-x-scroll" style="scrollbar-width:none;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;" data-carousel-wrapper><!--[--><!--[--><li class="h-full shrink-0 basis-full text-center"><a href="/promotion" class="inline-block px-8 hover:underline"><!--[--><span class="text-base-800 prose text-sm">Aproveite nossos descontos de até 50%!</span><!--]--></a></li><li class="h-full shrink-0 basis-full text-center"><span href class="inline-block px-8"><!--[--><span class="text-base-800 prose text-sm"><b>Frete grátis</b> <d-md>para todo Brasil</d-md> a partir de R$ 200,00</span><!--]--></span></li><!--]--><!--]--></ul><!--[--><div style="" class="text-base-400 text-xl leading-none"><button type="button" aria-label="Anterior" class="group absolute z-[11] left-0 top-0 bg-base-100 hover:text-base-700 pr-2" data-carousel-control="previous"><!--[--><i class="rotate-180 group-active:-translate-x-1 m-0 i-chevron-right"></i><!--]--></button><button type="button" aria-label="Próximo" class="group absolute z-[11] right-0 top-0 bg-base-100 hover:text-base-700 pl-2" data-carousel-control="next"><!--[--><i class="group-active:translate-x-1 m-0 i-chevron-right"></i><!--]--></button></div><!--]--></div></div></div><!--astro:end--></astro-island>
41
+
42
+
43
+ <script async>
44
+ window.$storefront.data['categories'] = [{"_id":"5c6ffa18c626be23430d4f4e","name":"Monitores","slug":"monitores","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007322374-rect836.png"}},{"_id":"5c6ffa2ac626be23430d4f50","name":"Monitores Gamer","parent":{"slug":"monitores"},"slug":"monitores-gamer","pictures":[]},{"_id":"5c6ffa45c626be23430d4f52","name":"Monitores Convencionais","parent":{"slug":"monitores"},"slug":"monitores-convencionais"},{"_id":"5c6ffa5bc626be23430d4f54","name":"Monitores TV","parent":{"slug":"monitores"},"slug":"monitores-tv"},{"_id":"5c6ffa6ec626be23430d4f56","name":"Notebooks","slug":"notebooks","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007351112-comp.png"}},{"_id":"5c6ffa8cc626be23430d4f58","name":"Notebooks gamers","parent":{"slug":"notebooks"},"slug":"notebooks-gamers"},{"_id":"5c6ffab6c626be23430d4f5c","name":"MacBook","parent":{"slug":"ultrabook"},"slug":"macbook","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1566932713325-macbook.jfif","size":"233x216"},"pictures":[{}]},{"_id":"5c7009bec626be23430d4f80","name":"Periféricos","slug":"perifericos","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007328003-keyb.png"},"pictures":[],"parent":{"slug":"fisicos"}},{"_id":"5c7009fdc626be23430d4f82","name":"Teclados","parent":{"slug":"perifericos"},"slug":"teclados"},{"_id":"5c700a11c626be23430d4f84","name":"Mouses","parent":{"slug":"perifericos"},"slug":"mouses"},{"_id":"5c700a37c626be23430d4f86","name":"Caixas de Som","parent":{"slug":"perifericos"},"slug":"caixas-de-som"},{"_id":"5c700a53c626be23430d4f88","name":"Headset","parent":{"slug":"perifericos"},"slug":"headset"},{"_id":"5c700a6bc626be23430d4f8a","name":"Cadeira Gamer","parent":{"slug":"perifericos"},"slug":"cadeira-gamer"},{"_id":"5c700a9cc626be23430d4f8c","name":"Smartphones","slug":"smartphones","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007321218-smartphone.png"}},{"_id":"5c701c9ec626be23430d4fe7","name":"Jogo","slug":"jogos/","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007332353-game.png"},"pictures":[]},{"_id":"5c701cb1c626be23430d4fe9","name":"Físicos","parent":{"slug":"jogos/"},"slug":"fisicos"},{"_id":"5c701cc6c626be23430d4feb","name":"Digitais","parent":{"slug":"jogos/"},"slug":"digitais"},{"_id":"5c701ce2c626be23430d4fed","name":"Usados","parent":{"slug":"jogos/"},"slug":"usados"},{"_id":"5ceecb3f887ef430f1f70c88","name":"Promoções","slug":"promocoes","icon":{"url":"https://ecom-jvxboxzk.sfo2.digitaloceanspaces.com/@1567007326827-mony.png"},"pictures":[{}]},{"_id":"5d5714045753286eadbbdc77","name":"Ultrabook","parent":{"slug":"notebooks"},"slug":"ultrabook"},{"_id":"5f70f1417430f92180f5ba66","name":"Brasileiro"},{"_id":"5fb2b13b69274c73fcd6a051","name":"smartwatch"},{"_id":"60199592d6981740b4a030f4","name":"São Paulo","slug":"sao-paulo"},{"_id":"61de099d0c7c72722502397b","name":"MacBook Pro"},{"_id":"61de12450c7c727225025299","name":"Mac Stop"},{"_id":"6227a90a7963422eee367aaa","name":"capinhas"}];
45
+ window.dispatchEvent(new Event('storefront:data:categories'));</script>
46
+ <script>(()=>{var a=(s,o)=>{let n=async()=>{await(await s())()},r=()=>{let t=Array.isArray(o.value)?o.value:[o.value];for(let e=0;e<t.length;e++)if(typeof t[e]=="string"&&t[e].startsWith("data:")){let d=t[e].substring(5);if(!window.$storefront?.data?.[d]){window.addEventListener(`storefront:data:${d}`,r,{once:!0});return}}if(t.includes("idle")){if(typeof window.requestIdleCallback=="function"){setTimeout(()=>window.requestIdleCallback(n),9);return}setTimeout(n,200);return}n()},i=window.$storefront?.apiContext?.doc._id||null;if(window._firstLoadContextId===i&&window._emitedContextId===i){console.log("[ctx] first load"),r(),document.addEventListener("astro:beforeload",()=>{delete window._firstLoadContextId},{once:!0});return}window.addEventListener("storefront:apiContext",r,{once:!0})};(self.Astro||(self.Astro={})).context=a;window.dispatchEvent(new Event("astro:context"));})();
47
+ </script><astro-island uid="27IxkL" component-url="/_astro/ShopHeader.OLf0l4Ot.js" component-export="default" renderer-url="/_astro/client.ZhEmw4hZ.js" props="{&quot;menuCategorySlugs&quot;:[1,[]],&quot;menuRandomCategories&quot;:[0,7],&quot;isAlphabeticalSortSubmenu&quot;:[0,false]}" ssr="" client="context" opts="{&quot;name&quot;:&quot;ShopHeader&quot;,&quot;value&quot;:&quot;data:categories&quot;}" await-children=""><header class="relative top-0 z-50 transition-colors bg-white py-3 sm:py-4 md:py-5"><div class="mx-auto flex w-screen grid-flow-col grid-cols-3 items-center justify-between px-1 sm:pl-2 sm:pr-2.5 md:grid lg:w-[calc(100vw-1rem)] lg:auto-cols-max lg:grid-cols-none lg:px-1 xl:max-w-[82rem] 2xl:max-w-[85rem]"><div class="basis-1/4 lg:hidden"><button class="my-1 px-2" aria-label="Abrir/fechar menu"><i class="i-bars-3-bottom-left text-base-400 animate-pulse text-3xl transition-colors"></i></button></div><!--[--><astro-slot name="logo">
48
+ <a href="/">
49
+ <h2>
50
+ <picture>
51
+ <source type="image/avif" srcset="/_astro/logo_Z1KIIl1.avif 300w" sizes="150px"><source type="image/webp" srcset="/_astro/logo_1UBsBq.webp 300w" sizes="150px"><source type="image/png" srcset="/_astro/logo_Z1K5PE9.png 300w" sizes="150px">
52
+ <img src="/_astro/logo_Z1K5PE9.png" alt="E-Com Plus demoStore" loading="eager" decoding="async" fetchpriority="high" class="mx-auto max-w-[150px] hover:drop-shadow-sm" width="300" height="71">
53
+ </picture>
54
+ </h2>
55
+ </a>
56
+ </astro-slot><!--]--><nav class="hidden lg:block"><ul class="text-base text-base-700 flex gap-4 xl:gap-5"><!--[--><li><!--[--><!--[--><div data-headlessui-state><a href="/monitores" role="button"><!--[--><button class="outline-none" id="headlessui-popover-button-1" type="button" aria-expanded="false" data-headlessui-state><!--[--><span class="hover:text-primary group"><h3 class="inline group-hover:underline decoration-2">Monitores</h3><i class="text-base-400 i-chevron-right group-hover:text-primary-subtle ml-1 transition-transform rotate-90"></i></span><!--]--></button><!----><!--]--></a><div class="relative"><!----></div></div><!--]--><div style="position:fixed;top:1;left:1;width:1;height:0;padding:0;margin:-1;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none;"></div><!--]--></li><li><!--[--><!--[--><div data-headlessui-state><a href="/notebooks" role="button"><!--[--><button class="outline-none" id="headlessui-popover-button-6" type="button" aria-expanded="false" data-headlessui-state><!--[--><span class="hover:text-primary group"><h3 class="inline group-hover:underline decoration-2">Notebooks</h3><i class="text-base-400 i-chevron-right group-hover:text-primary-subtle ml-1 transition-transform rotate-90"></i></span><!--]--></button><!----><!--]--></a><div class="relative"><!----></div></div><!--]--><div style="position:fixed;top:1;left:1;width:1;height:0;padding:0;margin:-1;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none;"></div><!--]--></li><li><a href="/smartphones" class="decoration-2 hover:text-primary hover:underline"><h3 class="inline">Smartphones</h3></a></li><li><!--[--><!--[--><div data-headlessui-state><a href="/jogos/" role="button"><!--[--><button class="outline-none" id="headlessui-popover-button-11" type="button" aria-expanded="false" data-headlessui-state><!--[--><span class="hover:text-primary group"><h3 class="inline group-hover:underline decoration-2">Jogo</h3><i class="text-base-400 i-chevron-right group-hover:text-primary-subtle ml-1 transition-transform rotate-90"></i></span><!--]--></button><!----><!--]--></a><div class="relative"><!----></div></div><!--]--><div style="position:fixed;top:1;left:1;width:1;height:0;padding:0;margin:-1;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none;"></div><!--]--></li><li><a href="/promocoes" class="decoration-2 hover:text-primary hover:underline"><h3 class="inline">Promoções</h3></a></li><li><a href="/sao-paulo" class="decoration-2 hover:text-primary hover:underline"><h3 class="inline">São Paulo</h3></a></li><!--]--></ul></nav><div class="text-base-800 flex basis-1/4 items-center justify-end gap-3 px-2 lg:gap-4"><form action="/s" method="get" class="relative"><label for="HeaderSearch" class="sr-only">Buscar produtos</label><div style="display:none;" class="absolute -right-0.5 -top-2.5 flex items-stretch"><div class="hidden w-12 bg-gradient-to-r from-transparent to-white sm:block"></div><input type="search" id="HeaderSearch" name="q" value="" class="border-1 border-primary/20 to-primary-50 w-72 max-w-md bg-gradient-to-r from-white py-3 pl-5 pr-12 text-base ring-0 md:w-screen" placeholder="Buscar produtos ..."></div><button type="submit" aria-label="Buscar produtos"><i class="i-magnifying-glass hover:text-primary size-7 hover:scale-110 active:scale-125"></i></button></form><div data-headlessui-state class="text-base-800 relative text-center text-sm hidden sm:block"><!----><a href="/app/account?" role="button"><!--[--><button id="headlessui-menu-button-16" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state class="outline-none" aria-label="Minha conta"><!--[--><i class="i-user-circle hover:text-primary size-7 hover:scale-110 active:scale-125"></i><!--]--></button><!--]--></a><!----></div><a href="/app/" aria-label="Abrir carrinho" class="group relative" role="button"><i class="i-shopping-bag group-hover:text-primary size-7 group-hover:scale-110 group-active:scale-125"></i><!----></a></div></div><!----><!----><!----></header><!--astro:end--></astro-island>
57
+ <main>
58
+ <article class="prose mx-auto px-8 pb-32 pt-20">
59
+ <h1>Erro :/</h1>
60
+ <p class="hidden text-xl" id="errorMsg">
61
+ Ocorreu um erro, tente novamente ou entre em contato conosco.
62
+ </p>
63
+ <p class="hidden text-xl" id="404Msg">
64
+ Não encontrado (404)
65
+ </p>
66
+ <p class="text-xl" id="loadingMsg">
67
+ ... ... ...
68
+ </p>
69
+ <a href="/" class="text-2xl">
70
+ <i class="i-arrow-right mr-1 rotate-180"></i>
71
+ Início
72
+ </a>
73
+ </article>
74
+
75
+ </main>
76
+ <footer class="border-base-100 bg-base-50 mt-auto w-screen border-t py-2"><div class="ui-section"><div class="border-base-200 flex flex-wrap justify-between gap-y-5 border-b pb-7 sm:gap-x-10 lg:flex-nowrap"><div class="shrink"><!--[-->
77
+ <a href="/">
78
+ <h3>
79
+ <picture>
80
+ <source type="image/avif" srcset="/_astro/logo_Z1KIIl1.avif 300w" sizes="150px"><source type="image/webp" srcset="/_astro/logo_1UBsBq.webp 300w" sizes="150px"><source type="image/png" srcset="/_astro/logo_Z1K5PE9.png 300w" sizes="150px">
81
+ <img src="/_astro/logo_Z1K5PE9.png" alt="E-Com Plus demoStore" loading="lazy" decoding="async" class="max-w-[150px]" width="300" height="71">
82
+ </picture>
83
+ </h3>
84
+ </a>
85
+ <!--]--><div class="prose"><p>E-Com Plus é a plataforma de e-commerce API-first desenhada para modelos de negócio e experiências de compra únicas. Flexibilidade do código aberto com facilidade de SaaS para que você comece rápido, venda do seu jeito e escale sem limitações.</p></div><div class="text-base-500 flex gap-2"><!--[--><span><a href="https://web.whatsapp.com/send?phone=%2B5531982721558" target="_blank" rel="noopener" class="hover:text-primary p-1"><!--[--><!--[--><i class="i-whatsapp"></i><!--[--><span class="text-base-600 ml-1 text-sm">(31) 9 8272-1558</span><!--]--><!--]--><!--]--></a></span><span><a href="https://www.instagram.com/ecomclub/" target="_blank" rel="noopener" class="hover:text-primary p-1"><!--[--><!--[--><i class="i-instagram"></i><!--[--><!--]--><!--]--><!--]--></a></span><span><a href="https://www.facebook.com/ecom.clubpage/" target="_blank" rel="noopener" class="hover:text-primary p-1"><!--[--><!--[--><i class="i-facebook"></i><!--[--><!--]--><!--]--><!--]--></a></span><span><a href="https://www.youtube.com/channel/UCBlIxK5JAub0E1EX_qHdzmA" target="_blank" rel="noopener" class="hover:text-primary p-1"><!--[--><!--[--><i class="i-youtube"></i><!--[--><!--]--><!--]--><!--]--></a></span><!--]--></div><!----></div><div class="basis-1/2 pr-2 sm:basis-auto sm:pr-0"><div class="mb-2.5 text-lg font-medium">Categorias</div><ul class="grid md:grid-cols-2 gap-x-5 gap-y-1.5 text-sm"><!--[--><li><a href="/monitores" class="text-base-600 ui-link">Monitores</a></li><li><a href="/notebooks" class="text-base-600 ui-link">Notebooks</a></li><li><a href="/smartphones" class="text-base-600 ui-link">Smartphones</a></li><li><a href="/jogos/" class="text-base-600 ui-link">Jogo</a></li><li><a href="/promocoes" class="text-base-600 ui-link">Promoções</a></li><li><a href="/sao-paulo" class="text-base-600 ui-link">São Paulo</a></li><!--]--><li><a href="/s" class="text-base-900 ui-link">Todos os produtos</a></li></ul></div><div class="basis-1/2 pl-2 sm:basis-auto sm:pl-0"><div class="mb-2.5 text-lg font-medium">Institucional</div><ul class="space-y-1.5 text-sm"><!--[--><li><a href="/p/contato" class="ui-link text-base-600"><!--[-->Contato<!--]--></a></li><li><a href="/p/terms" class="ui-link text-base-600"><!--[-->Privacidade e termos de serviço<!--]--></a></li><li><a href="/p/trocas" class="ui-link text-base-600"><!--[-->Trocas e devoluções<!--]--></a></li><li><a href="/blog/1/" class="ui-link text-base-900"><!--[-->Blog<!--]--></a></li><!--]--></ul></div></div></div><div class="ui-section"><div class="flex flex-wrap items-start justify-between gap-5 lg:flex-nowrap"><ul class="mx-auto flex items-center gap-x-6 gap-y-3 overflow-x-auto md:mx-0 md:flex-wrap md:overflow-hidden lg:gap-x-8"><!--[--><li><a href="/p/trocas"><!--[--><!--[--><!--]--><span class="flex items-center"><span class="[&amp;&gt;*]:from-success-200 [&amp;&gt;*]:to-success-700 mr-2 text-4xl [&amp;&gt;*]:bg-gradient-to-br"><i class="i-arrow-path-rounded-square"></i></span><span class="text-base-600 max-w-[140px] text-sm font-medium">Troca garantida <!----></span></span><!--]--></a></li><li><a href="https://transparencyreport.google.com/safe-browsing/search?url=demo.ecomplus.app" target="_blank" rel="noopener"><!--[--><!--[--><!--]--><span class="flex items-center"><span class="[&amp;&gt;*]:from-success-200 [&amp;&gt;*]:to-success-700 mr-2 text-4xl [&amp;&gt;*]:bg-gradient-to-br"><i class="i-check-badge"></i></span><span class="text-base-600 max-w-[140px] text-sm font-medium">Google Navegação Segura <i class="bg-base-400 i-arrow-top-right-on-square ml-0.5"></i></span></span><!--]--></a></li><li><span href><!--[--><!--[--><!--]--><span class="flex items-center"><span class="[&amp;&gt;*]:from-success-200 [&amp;&gt;*]:to-success-700 mr-2 text-4xl [&amp;&gt;*]:bg-gradient-to-br"><i class="i-lock-closed"></i></span><span class="text-base-600 max-w-[140px] text-sm font-medium">Conexão SSL <!----></span></span><!--]--></span></li><!--]--></ul><div class="mx-auto flex flex-wrap items-center justify-end gap-4 overflow-x-auto text-2xl md:mx-0 md:flex-nowrap md:overflow-hidden"><!--[--><i class="i-pix text-[#77B6A8]"></i><i class="i-visa"></i><i class="i-mastercard"></i><i class="i-elo"></i><i class="i-amex"></i><i class="i-hipercard"></i><b class="mb-1 text-[57%] leading-none tracking-tighter text-black">boleto</b><!--]--></div></div><div class="mt-7 justify-between gap-4 text-center text-xs md:flex md:text-left"><div class="mb-3 md:mb-0"> @ 2024 / </div><a href="https://www.ecomplus.io/" target="_blank" rel="noopener" class="italic text-[#37003c]"><!--[--> powered by <b>e-com.plus</b><!--]--></a></div></div></footer>
86
+
87
+
88
+
89
+
90
+
91
+
92
+ <div id="teleported-bottom" class="relative z-[19]"></div>
93
+ <picture data-alt="Icon" class="absolute hidden" style="bottom: -1000px">
94
+ <source type="image/png" srcset="/_astro/ecom-icon_t3guw.png 32w,/_astro/ecom-icon_12falx.png 192w,/_astro/ecom-icon_15pqnO.png 512w" sizes="32px">
95
+
96
+ </picture>
97
+ </body>
98
+ </html>