@faststore/core 3.89.6 → 3.90.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +39 -39
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +13 -13
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/7098.js +2 -2
- package/.next/server/chunks/948.js +1 -1
- package/.next/server/chunks/9563.js +2 -2
- package/.next/server/chunks/9630.js +3 -3
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/api/graphql.js +2 -2
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/404.json +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/500.json +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/checkout.json +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/login.json +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US/s.json +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/en-US.json +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{ghf2v1siEy3As1le4gu-I → 1G1fFBbTvq0WaZ-0pahJG}/_buildManifest.js +1 -1
- package/.next/static/chunks/{2500.e2623cac49e0ccb8.js → 2500.fa0f80184d3cde4f.js} +1 -1
- package/.next/static/chunks/{2927.5a79877943a6bf7c.js → 2927.23bae2c79f0ac0f3.js} +1 -1
- package/.next/static/chunks/5859.0b4ee873dc86bef7.js +1 -0
- package/.next/static/chunks/9173-045983ab6e18cfb4.js +1 -0
- package/.next/static/chunks/ProductShelf.24f22900bc10896e.js +1 -0
- package/.next/static/chunks/{UIToast.5b849b0ef95e25ce.js → UIToast.3a8d6b20848b20e2.js} +1 -1
- package/.next/static/chunks/pages/[slug]/p-323813ea2a7455fb.js +1 -0
- package/.next/static/chunks/pages/{_app-7867d2068460ae86.js → _app-494fa821daae1608.js} +1 -1
- package/.next/static/chunks/pages/index-5c3eb58eefd7cb0f.js +1 -0
- package/.next/static/chunks/{webpack-27e109703d78aaaa.js → webpack-7a160aaa24e51946.js} +1 -1
- package/.next/trace +138 -138
- package/.turbo/turbo-build.log +11 -11
- package/.turbo/turbo-test.log +5 -5
- package/@generated/gql.ts +2 -2
- package/@generated/graphql.ts +4 -1
- package/@generated/persisted-documents.json +1 -1
- package/@generated/schema.graphql +2 -0
- package/CHANGELOG.md +12 -0
- package/package.json +4 -4
- package/src/components/account/MyAccountDrawer/OrganizationDrawer/OrganizationDrawer.tsx +3 -1
- package/src/components/sections/ProductTiles/ProductTiles.tsx +4 -7
- package/src/components/ui/ProductShelf/ProductShelf.tsx +7 -6
- package/src/sdk/deliveryPromise/useDeliveryPromiseFacets.ts +25 -0
- package/src/sdk/session/index.ts +1 -0
- package/src/utils/utilities.ts +0 -7
- package/.next/static/chunks/5859.cf66c492751f5680.js +0 -1
- package/.next/static/chunks/9173-91e3436dca96010f.js +0 -1
- package/.next/static/chunks/ProductShelf.319b97d6c822340b.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-49a7aaba6898f796.js +0 -1
- package/.next/static/chunks/pages/index-7a9bc631c89fd3f2.js +0 -1
- /package/.next/static/{ghf2v1siEy3As1le4gu-I → 1G1fFBbTvq0WaZ-0pahJG}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";exports.id=9563,exports.ids=[9563],exports.modules={48116:(e,t,a)=>{a.d(t,{Z:()=>r});let r={}},29313:(e,t,a)=>{a.d(t,{Z:()=>r});let r={}},99563:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{h:()=>execute});var i=a(99664),n=a(37886),o=a(84656),s=a(36093),l=a(77397),c=a(45774),d=a(36550),u=a(57343),p=a(71017),m=a.n(p),g=a(57565),f=a(48116),h=a(29313),y=a(17486),v=e([i,n,o,s,l,c,d]);[i,n,o,s,l,c,d]=v.then?(await v)():v;let S=new Map(Object.entries(g)),I=(0,l.E9)(y.e),customFormatError=e=>e instanceof u.GraphQLError&&(0,l.T9)(e.originalError)?e:(console.error(e),new u.GraphQLError(`Sorry, something went wrong. ${e}`)),getEnvelop=async()=>(0,i.envelop)({plugins:[(0,i.useEngine)(u),(0,i.useSchema)(function(){let e=(0,c.loadFilesSync)(m().join(process.cwd(),"@generated"),{extensions:["graphql"]}),t=(0,l.yd)(y.e);return(0,d.makeExecutableSchema)({typeDefs:e,resolvers:[t,h.Z,f.Z]})}()),(0,i.useExtendContext)(I),(0,i.useMaskedErrors)({maskError:customFormatError}),(0,n.useGraphQlJit)(),(0,s.useValidationCache)(),(0,o.useParserCache)()]}),b=getEnvelop(),execute=async(e,t={headers:{}})=>{let{operation:a,variables:r,query:i}=e,{operationHash:n,operationName:o}=a.__meta__,s=i??S.get(n);if(null==s)throw new l.oY(`No query found for operationName ${o} and operationHash ${n}.`);let c=await b,{parse:d,contextFactory:u,execute:p,schema:m}=c(t),g=await u(t),{data:f,errors:h}=await p({schema:m,document:d(s),variableValues:r,contextValue:g,operationName:o});return{data:f,errors:h,extensions:{cookies:g.storage.cookies,cacheControl:g.cacheControl}}};r()}catch(e){r(e)}})},17486:(e,t,a)=>{a.d(t,{e:()=>n});var r=a(43412),i=a.n(r);let n={platform:i().platform,account:i().api.storeId,environment:i().api.environment,subDomainPrefix:i().api.subDomainPrefix??["www"],hideUnavailableItems:i().api.hideUnavailableItems,showSponsored:i().api.showSponsored,simulationBehavior:i().api.simulationBehavior,incrementAddress:i().api.incrementAddress,channel:i().session.channel,locale:i().session.locale,flags:{enableOrderFormSync:!0,enableUnavailableItemsOnCart:i().api?.enableUnavailableItemsOnCart??!1}}},48608:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{Z:()=>o});var i=a(38722),n=e([i]);i=(n.then?(await n)():n)[0];let min=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?t:e:"number"==typeof e?e:t,minScope=(e,t)=>"string"==typeof e&&"string"==typeof t?"public"===e&&"public"===t?"public":"private":e||t,o={typeDefs:"directive @cacheControl(sMaxAge: Int, staleWhileRevalidate: Int, scope: String) on FIELD_DEFINITION",transformer:e=>(0,i.mapSchema)(e,{[i.MapperKind.OBJECT_FIELD]:t=>{let a=i.getDirective(e,t,"cacheControl")?.[0];if(a){let{sMaxAge:e,staleWhileRevalidate:r,scope:i}=a,n=t.resolve;t.resolve=(t,a,o,s)=>(o.cacheControl={sMaxAge:min(o.cacheControl?.sMaxAge,e),staleWhileRevalidate:min(o.cacheControl?.staleWhileRevalidate,r),scope:minScope(o.cacheControl?.scope,i)},n?.(t,a,o,s))}return t}})};r()}catch(e){r(e)}})},77397:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{E9:()=>getContextFactory,T9:()=>s.T9,XD:()=>s.XD,lY:()=>s.lY,oY:()=>s.oY,yd:()=>getResolvers});var i=a(46919),n=a(33999),o=a(48608),s=a(90782),l=e([i,n,o]);[i,n,o]=l.then?(await l)():l;let c={vtex:{getResolvers:i.y,getContextFactory:i.E}};o.Z;let getResolvers=e=>c[e.platform].getResolvers(e),getContextFactory=e=>c[e.platform].getContextFactory(e);r()}catch(e){r(e)}})},90782:(e,t,a)=>{a.d(t,{QW:()=>isForbiddenError,S9:()=>FastStoreError,T9:()=>isFastStoreError,XD:()=>isNotFoundError,dR:()=>NotFoundError,lY:()=>ForbiddenError,oY:()=>BadRequestError,yj:()=>UnauthorizedError});let FastStoreError=class FastStoreError extends Error{extensions;constructor(e,t){super(t),this.extensions=e,this.name="FastStoreError"}};let BadRequestError=class BadRequestError extends FastStoreError{constructor(e){super({status:400,type:"BadRequestError"},e)}};let UnauthorizedError=class UnauthorizedError extends FastStoreError{constructor(e){super({status:401,type:"UnauthorizedError"},e)}};let ForbiddenError=class ForbiddenError extends FastStoreError{constructor(e){super({status:403,type:"ForbiddenError"},e)}};let NotFoundError=class NotFoundError extends FastStoreError{constructor(e){super({status:404,type:"NotFoundError"},e)}};let isFastStoreError=e=>e?.name==="FastStoreError",isForbiddenError=e=>e?.extensions?.type==="ForbiddenError",isNotFoundError=e=>e?.extensions?.type==="NotFoundError"},39365:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{K:()=>VtexCommerce});var i=a(84802),n=a(10602),o=a(77397),s=a(83503),l=a(18673),c=e([o,s]);[o,s]=c.then?(await c)():c;let d={method:"POST",headers:{"content-type":"application/json"}},VtexCommerce=({account:e,environment:t,incrementAddress:a,subDomainPrefix:r},c)=>{let u=`https://${e}.${t}.com.br`,p=(0,l.oc)(c),m=(0,l.H6)(c),g=(0,l.q4)(c),f=(0,s.L)(),h=new Headers(c.headers).get("x-forwarded-host")??c.headers?.host??"",y=r&&r.map(e=>e+".").find(e=>h.includes(e))||"",v=h.replace(y,"");return{catalog:{salesChannel:e=>(0,n.I)(`${u}/api/catalog_system/pub/saleschannel/${e}`,void 0,{storeCookies:p}),brand:{list:()=>(0,n.I)(`${u}/api/catalog_system/pub/brand/list`,void 0,{storeCookies:p})},category:{tree:(e=3)=>(0,n.I)(`${u}/api/catalog_system/pub/category/tree/${e}`,void 0,{storeCookies:p})},portal:{pagetype:e=>(0,n.I)(`${u}/api/catalog_system/pub/portal/pagetype/${e}`,void 0,{storeCookies:p})},products:{crossselling:({type:e,productId:t,groupByProduct:a=!0})=>{let r=new URLSearchParams({sc:c.storage.channel.salesChannel,groupByProduct:a.toString()});return(0,n.I)(`${u}/api/catalog_system/pub/products/crossselling/${e}/${t}?${r}`,void 0,{storeCookies:p})}}},checkout:{simulation:(e,{salesChannel:t}=c.storage.channel)=>{let a=new URLSearchParams({sc:t}),r=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForms/simulation?${a.toString()}`,{...d,headers:r,body:JSON.stringify(e)},{storeCookies:p})},shippingData:({id:e,index:t,deliveryMode:r,selectedAddresses:i},o)=>{let s=o?{startDateUtc:r?.deliveryWindow?.startDate,endDateUtc:r?.deliveryWindow?.endDate}:null,l={logisticsInfo:Array.from({length:t},(e,t)=>({itemIndex:t,selectedDeliveryChannel:r?.deliveryChannel||null,selectedSla:r?.deliveryMethod||null,deliveryWindow:s})),selectedAddresses:i,clearAddressIfPostalCodeNotFound:a},c=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/attachments/shippingData`,{...d,headers:c,body:JSON.stringify(l)},{storeCookies:p})},marketingData:({id:e,marketingData:t})=>{let a=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/attachments/marketingData`,{headers:a,body:JSON.stringify(t),method:"POST"},{storeCookies:p})},orderForm:({id:e,refreshOutdatedData:t=!0,channel:a=c.storage.channel})=>{let{salesChannel:r}=a,i=new URLSearchParams({refreshOutdatedData:t.toString(),sc:r}),o=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}?${i.toString()}`,{...d,headers:o},{storeCookies:p})},clearOrderFormMessages:({id:e})=>{let t=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/messages/clear`,{...d,headers:t,body:"{}"})},updateOrderFormItems:({id:e,orderItems:t,allowOutdatedData:a="paymentData",salesChannel:r=c.storage.channel.salesChannel,shouldSplitItem:i=!0})=>{let o=new URLSearchParams({allowOutdatedData:a,sc:r}),s=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/items?${o}`,{headers:s,body:JSON.stringify({orderItems:t,noSplitItem:!i}),method:"PATCH"},{storeCookies:p})},setCustomData:({id:e,appId:t,key:a,value:r})=>{let i=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/customData/${t}/${a}`,{headers:i,body:JSON.stringify({value:r}),method:"PUT"})},region:async({postalCode:e,geoCoordinates:t,country:a,salesChannel:r})=>{let i=new URLSearchParams({country:a,sc:r??""});e?i.append("postalCode",e):i.append("geoCoordinates",`${t?.longitude};${t?.latitude}`);let o=`${u}/api/checkout/pub/regions/?${i.toString()}`,s=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(o,{headers:s},{storeCookies:p})},address:async({postalCode:e,country:t})=>{let a=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/postal-code/${t}/${e}`,{headers:a},{storeCookies:p})},cancelOrder:({orderId:e,customerEmail:t,reason:a})=>{let r=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orders/${e}/user-cancel-request`,{method:"POST",headers:r,body:JSON.stringify({customerEmail:t,reason:a})},{})},pickupPoints:({geoCoordinates:e})=>{if(!e)throw Error("Missing required parameter for listing pickup points.");let t=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/logistics-shipping/pickuppoints/_search`,{method:"POST",headers:t,body:JSON.stringify({coordinate:e})},{storeCookies:p})}},session:e=>{let t=new URLSearchParams(e);t.set("items","profile.id,profile.email,profile.firstName,profile.lastName,shopper.firstName,shopper.lastName,store.channel,store.countryCode,store.cultureInfo,store.currencyCode,store.currencySymbol,authentication.customerId,authentication.storeUserId,authentication.storeUserEmail,authentication.unitId,authentication.unitName,checkout.regionId,public.postalCode");let a=m({"content-type":"application/json"}),r=i.parse(c?.headers?.cookie??"")?.vtex_session;return(0,n.I)(`${u}/api/sessions?${t.toString()}`,{method:r?"PATCH":"POST",headers:a,body:"{}"},{storeCookies:p})},subscribeToNewsletter:e=>(0,n.I)(`${u}/api/dataentities/NL/documents/`,{...d,body:JSON.stringify({...e,isNewsletterOptIn:!0}),method:"PATCH"},{storeCookies:p}),profile:{addresses:async t=>{let a=g(v,e);return(0,n.I)(`${u}/api/profile-system/pvt/profiles/${t}/addresses`,{headers:a},{storeCookies:p})}},oms:{userOrder:({orderId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/oms/user/orders/${t}`,{method:"GET",headers:a},{storeCookies:p})},listUserOrders:({page:e,status:t,dateInitial:a,dateFinal:r,text:i,clientEmail:o,perPage:s})=>{let l=new URLSearchParams;if(a){let e=new Date(a).setHours(0,0,0,0);a=new Date(e).toISOString()}if(r){let e=new Date(r).setHours(23,59,59,999);r=new Date(e).toISOString()}i&&l.append("text",i),t&&t.length>0&&l.append("status",t.filter(Boolean).join(",")),a&&r?l.append("creation_date",`creationDate:[${a} TO ${r}]`):a?l.append("creation_date",`creationDate:[${a} TO *]`):r&&l.append("creation_date",`creationDate:[* TO ${r}]`),o&&l.append("clientEmail",o),e&&l.append("page",e.toString()),s&&l.append("per_page",s.toString());let c=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/oms/user/orders?${l.toString()}`,{method:"GET",headers:c},{storeCookies:p})},getCommercialAuthorizationsByOrderId:({orderId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/${e}/commercial-authorizations/order/${t}`,{method:"GET",headers:a},{storeCookies:p})},processOrderAuthorization:async({orderAuthorizationId:t,dimensionId:a,ruleId:r,approved:i})=>{let o=g(v,e);return(0,n.I)(`${u}/${e}/commercial-authorizations/${t}/callback`,{method:"POST",headers:o,body:JSON.stringify({params:{ruleId:r,dimensionId:a,score:i?100:0}})},{storeCookies:p})}},units:{getUnitByUserId:({userId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}/unit`,{method:"GET",headers:a},{})},getOrgUnitById:({orgUnitId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}`,{method:"GET",headers:a},{})},getScopesByOrgUnit:({orgUnitId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}/scopes`,{method:"GET",headers:a},{})}},licenseManager:{getUserById:({userId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/license-manager/users/${t}`,{method:"GET",headers:a},{})},getUserByEmail:({email:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/license-manager/pvt/users/${t}`,{method:"GET",headers:a},{})}},masterData:{getContractById:({contractId:e})=>{if(!e)throw new o.oY("Missing contractId to fetch CL fields.");let t=f({Accept:"application/json","content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/dataentities/CL/documents/${e}?_fields=_all`,{method:"GET",headers:t},{})},getShopperById:({userId:e})=>{if(!e)throw new o.oY("Missing userId to fetch shopper name.");let t=f({Accept:"application/json","content-type":"application/json","X-FORWARDED-HOST":v}),a=e.replace(/-/g,"");return(0,n.I)(`${u}/api/dataentities/shopper/search?_where=(userId=${a} OR userId=${e})&_fields=_all&_schema=v1`,{method:"GET",headers:t},{})}},vtexid:{validate:()=>{let t=g(v,e);return(0,n.I)(`${u}/api/vtexid/credential/validate`,{headers:t,body:JSON.stringify({token:t.VtexIdclientAutCookie}),method:"POST"},{storeCookies:p})}}}};r()}catch(e){r(e)}})},10602:(e,t,a)=>{a.d(t,{I:()=>fetchAPI});var r=a(47881),i=a.n(r);let n=JSON.parse('{"u2":"@faststore/api","i8":"3.89.4"}');var o=a(90782);let s=`${n.u2}@${n.i8}`,fetchAPI=async(e,t,a)=>{let r=await i()(e,{...t,headers:{...t?.headers??{},"User-Agent":s}});if(r.ok)return a?.storeCookies&&a.storeCookies(r.headers),204!==r.status?r.json():void 0;console.error(e,t,r);let n=await r.text();if("number"==typeof r?.status)switch(r.status){case 400:throw new o.oY(n);case 401:throw new o.yj(n);case 403:throw new o.lY(n);case 404:throw new o.dR(n);default:throw new o.S9({status:r.status,type:"UnknownError"},n)}throw Error(n)}},73760:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{Z:()=>getClients});var i=a(39365),n=a(85295),o=e([i]);i=(o.then?(await o)():o)[0];let getClients=(e,t)=>{let a=(0,n.Z)(e,t),r=(0,i.K)(e,t);return{search:a,commerce:r}};r()}catch(e){r(e)}})},85295:(e,t,a)=>{a.d(t,{Z:()=>IntelligentSearch});var r=a(18673),i=a(10602);let n="trade-policy",o="region-id",s="fuzzy",l="operator",c="pickupPoint",d="shipping",u="delivery-options",p="in-stock",m=new Set([n,o,s,l,c,d,u,p]),isFuzzyFacet=e=>"fuzzy"===e.key&&("0"===e.value||"1"===e.value||"auto"===e.value),isOperatorFacet=e=>"operator"===e.key&&("and"===e.value||"or"===e.value),IntelligentSearch=({account:e,environment:t,hideUnavailableItems:a,simulationBehavior:g,showSponsored:f,subDomainPrefix:h},y)=>{let v=`https://${e}.${t}.com.br/api/io`,S=(0,r.H6)(y),I=new Headers(y.headers).get("x-forwarded-host")??y.headers?.host??"",b=h&&h.map(e=>e+".").find(e=>I.includes(e))||"",C=I.replace(b,""),$=S({"content-type":"application/json","X-FORWARDED-HOST":C}),getPolicyFacet=()=>{let{salesChannel:e}=y.storage.channel;return e?{key:n,value:e}:null},getRegionFacet=()=>{let{regionId:e,seller:t}=y.storage.channel,a=t?Buffer.from(`SW#${t}`).toString("base64"):null,r=a??e;return r?{key:o,value:r}:null},addDefaultFacets=e=>{let t=e.filter(({key:e})=>!m.has(e)),a=e.find(({key:e,value:t})=>e===d&&"all-delivery-methods"!==t)??null,r=e.find(({key:e,value:t})=>e===u&&"all-delivery-options"!==t)??null,i=e.find(({key:e})=>e===n)??getPolicyFacet(),s=e.find(({key:e})=>e===o)??getRegionFacet();return null!==a&&t.push(a),null!==r&&t.push(r),null!==i&&t.push(i),null!==s&&t.push(s),t},addSearchParamsFacets=(e,t)=>{let a=e.find(({key:e})=>e===s)??null,r=e.find(({key:e})=>e===l)??null,i=e.find(({key:e})=>e===c)??null;a&&isFuzzyFacet(a)&&t.append(s,a.value),r&&isOperatorFacet(r)&&t.append(l,r.value),i&&t.append(c,i.value)},search=({query:e="",page:t,count:r,sort:n="",selectedFacets:o=[],type:s,showInvisibleItems:l,sponsoredCount:c,hideUnavailableItems:d,allowRedirect:u=!1})=>{let m=new URLSearchParams({page:(t+1).toString(),count:0!==r?r.toString():"1",query:e,sort:n,locale:y.storage.locale});if(addSearchParamsFacets(o,m),l&&m.append("show-invisible-items","true"),void 0!==a){let e=o.find(({key:e})=>e===p),t=e?e.value:d?.toString()??a.toString();m.append("hideUnavailableItems",t)}void 0!==g&&m.append("simulationBehavior",g.toString()),void 0!==f&&m.append("showSponsored",f.toString()),void 0!==c&&m.append("sponsoredCount",c.toString()),void 0!==u&&m.append("allowRedirect",u.toString());let h=addDefaultFacets(o).map(({key:e,value:t})=>`${e}/${t}`).join("/");return(0,i.I)(`${v}/_v/api/intelligent-search/${s}/${h}?${m.toString()}`,{headers:$})};return{facets:e=>search({...e,type:"facets"}),products:e=>search({...e,type:"product_search"}),suggestedTerms:e=>{let t=new URLSearchParams({query:e.query?.toString()??"",locale:y.storage.locale});return(0,i.I)(`${v}/_v/api/intelligent-search/search_suggestions?${t.toString()}`,{headers:$})},topSearches:()=>{let e=new URLSearchParams({locale:y.storage.locale});return(0,i.I)(`${v}/_v/api/intelligent-search/top_searches?${e.toString()}`,{headers:$})},productCount:e=>{let t=new URLSearchParams;return e?.query&&t.append("query",e.query.toString()),(0,i.I)(`${v}/_v/api/intelligent-search/catalog_count?${t.toString()}`,{headers:$})}}}},46919:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{E:()=>getContextFactory,y:()=>getResolvers});var i=a(73760),n=a(11849),o=a(40468),s=a(77760),l=a(18668),c=a(71042),d=a(44452),u=a(95109),p=a(97097),m=a(14685),g=a(72541),f=a(41830),h=a(92584),y=a(1402),v=a(26465),S=a(38064),I=a(28881),b=a(98521),C=a(2146),$=a(13140),P=a(20914),w=e([i]);i=(w.then?(await w)():w)[0];let O={StoreCollection:l.s,StoreAggregateOffer:o.P,StoreProduct:g.M,StoreSeo:I.X,StoreFacet:c.Mj,StoreFacetBoolean:c.fZ,StoreFacetRange:c.Q_,StoreFacetValueBoolean:d.N,StoreOffer:m.u,StoreAggregateRating:s.C,StoreReview:v.e,StoreProductGroup:f.Z,StoreSearchResult:S.R,StorePropertyValue:h.X,SkuVariants:C.w,ShippingSLA:b.x,UserOrderResult:$.r,ObjectOrString:p.P,Query:y.A,Mutation:u.m},getContextFactory=e=>t=>(t.storage={channel:P.Z.parse(e.channel),flags:e.flags??{},locale:e.locale,cookies:new Map},t.clients=(0,i.Z)(e,t),t.loaders=(0,n.R)(e,t),t.account=e.account,t),getResolvers=e=>O;r()}catch(e){r(e)}})},95205:(e,t,a)=>{a.d(t,{i:()=>getCollectionLoader,n:()=>isCollectionPageType});var r=a(66464),i=a.n(r),n=a(81786),o=a.n(n),s=a(90782);let l=new Set(["brand","category","department","subcategory","collection","cluster"]),isCollectionPageType=e=>"string"==typeof e.pageType&&l.has(e.pageType.toLowerCase()),getCollectionLoader=(e,t)=>{let a=o()(20),loader=async e=>Promise.all(e.map(e=>a(async()=>{let a=await t.commerce.catalog.portal.pagetype(e);if(isCollectionPageType(a))return a;throw new s.dR(`Catalog returned ${a.pageType} for slug: ${e}. This usually happens when there is more than one category with the same name in the same category tree level.`)})));return new(i())(loader,{batch:!1})}},11849:(e,t,a)=>{a.d(t,{R:()=>getLoaders});var r=a(66464),i=a.n(r);let getSalesChannelLoader=(e,t)=>{let loader=async e=>Promise.all(e.map(e=>t.commerce.catalog.salesChannel(e)));return new(i())(loader)};var n=a(81786),o=a.n(n);let getSimulationLoader=(e,t)=>{let a=o()(1),loader=async e=>{let a=e.reduce((e,{items:t})=>[...e,t],[]),r=[...a.flat()],i=await t.commerce.checkout.simulation({country:e[0].country,postalCode:e[0].postalCode,items:r}),n=i.items.reduce((e,t)=>{let a=t.requestIndex;return"number"==typeof a&&a<e.length&&(e[a]=t),e},Array(r.length).fill(null)),o=a.reduce((e,t)=>[...e,t.length+e[e.length-1]],[0]);return a.map((e,t)=>({...i,items:n.slice(o[t],o[t+1]).filter(e=>!!e)}))},limited=async e=>a(loader,e);return new(i())(limited,{maxBatchSize:50})};var s=a(96693),l=a(90782);let getSkuLoader=({flags:e},t)=>{let loader=async a=>{let r=a.map(e=>e.split("-")[0]),i=a.some(e=>"invisibleItems"===e.split("-")[1]),{products:n}=await t.search.products({query:`sku:${r.join(";")}`,page:0,count:r.length,showInvisibleItems:i,...e?.enableUnavailableItemsOnCart&&{hideUnavailableItems:!1}}),o=n.reduce((e,t)=>{for(let a of t.items)e[a.itemId]=(0,s.j)(a,t);return e},{}),c=r.map(e=>o[e]),d=r.filter(e=>!o[e]);if(d.length>0)throw new l.dR(`Search API did not found the following skus: ${d.join(",")}`);return c};return new(i())(loader,{maxBatchSize:99})};var c=a(95205);let getLoaders=(e,{clients:t})=>{let a=getSkuLoader(e,t),r=getSimulationLoader(e,t),i=(0,c.i)(e,t),n=getSalesChannelLoader(e,t);return{skuLoader:a,simulationLoader:r,collectionLoader:i,salesChannelLoader:n}}},40468:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(92222),i=a(92170);let getHighPrice=(e,t={includeTaxes:!1})=>{let a=e.filter(r.pz),n=a[a.length-1],o=n?(0,r.nt)(n):0;return t.includeTaxes?(0,i.J)(o,n?.Tax,n?.product?.unitMultiplier):o},getLowPrice=(e,t={includeTaxes:!1})=>{let[a]=e.filter(r.pz),n=a?(0,r.nt)(a):0;return t.includeTaxes?(0,i.J)(n,a?.Tax,a?.product?.unitMultiplier):n},n={highPrice:e=>getHighPrice(e),lowPrice:e=>getLowPrice(e),lowPriceWithTaxes:e=>getLowPrice(e,{includeTaxes:!0}),offerCount:e=>e.length,priceCurrency:async(e,t,a)=>{let{loaders:{salesChannelLoader:r},storage:{channel:i}}=a,n=await r.load(i.salesChannel);return n.CurrencyCode??""},offers:e=>e}},77760:(e,t,a)=>{a.d(t,{C:()=>r});let r={ratingValue:()=>5,reviewCount:()=>0}},18668:(e,t,a)=>{a.d(t,{s:()=>n});var r=a(95205),i=a(60899);let isBrand=e=>"brand"===e.type||(0,r.n)(e)&&"brand"===e.pageType.toLowerCase(),isCollection=e=>(0,r.n)(e)&&"collection"===e.pageType.toLowerCase(),slugifyRoot=e=>isBrand(e)||isCollection(e)?(0,i.l)(e.name):(0,r.n)(e)?new URL(`https://${e.url}`).pathname.slice(1).toLowerCase():new URL(e.url).pathname.slice(1).toLowerCase(),n={id:({id:e})=>e.toString(),slug:e=>slugifyRoot(e),seo:e=>isBrand(e)||(0,r.n)(e)?{title:e.title??e.name,description:e.metaTagDescription}:{title:e.Title,description:e.MetaTagDescription},type:e=>isBrand(e)?"Brand":(0,r.n)(e)?e.pageType:0===e.level?"Department":"Category",meta:e=>{let t=slugifyRoot(e);return isBrand(e)?{selectedFacets:[{key:"brand",value:t}]}:isCollection(e)?{selectedFacets:[{key:"productclusterids",value:e.id}]}:{selectedFacets:t.split("/").map((e,t)=>({key:`category-${t+1}`,value:e}))}},breadcrumbList:async(e,t,a)=>{let{loaders:{collectionLoader:r}}=a,i=slugifyRoot(e),n=i.split("/").filter(e=>!!e),o=n.map((e,t)=>n.slice(0,t+1).join("/")),s=await Promise.all(o.map(async e=>{let t=await r.load(e);return{slug:e,...t}}));return{itemListElement:s.map((e,t)=>({item:isCollection(e)?`/${e.slug}`:new URL(`https://${e.url}`).pathname.toLowerCase(),name:e.name,position:t+1})),numberOfItems:s.length}}}},44452:(e,t,a)=>{a.d(t,{N:()=>r});let r={value:({value:e})=>e,label:({name:e})=>e||"unknown",selected:({selected:e})=>e,quantity:({quantity:e})=>e}},71042:(e,t,a)=>{a.d(t,{Mj:()=>n,Q_:()=>s,fZ:()=>o});var r=a(97911),i=a(7201);let n={__resolveType:({type:e,values:t})=>"TEXT"!==e&&"DELIVERY"!==e?"StoreFacetRange":t&&0!==t.length&&t.every(e=>e.range)?"StoreFacetRange":"StoreFacetBoolean"},o={key:({key:e})=>e,label:({name:e})=>e,values:({values:e})=>e.sort((e,t)=>e.name.localeCompare(t.name))},s={key:({key:e})=>e,label:({name:e})=>e,min:({values:e,key:t},a,{storage:{searchArgs:n}})=>{let o=(0,r.Vz)(n?.selectedFacets?.find(e=>e.key===t)?.value??""),s=(0,i.V)(e,(e,t)=>e.range.from-t.range.from),l=s?.range?.from??0;return{selected:o?.[0]??l,absolute:l}},max:({values:e,key:t},a,{storage:{searchArgs:n}})=>{let o=(0,r.Vz)(n?.selectedFacets?.find(e=>e.key===t)?.value??""),s=(0,i.V)(e,(e,t)=>t.range.to-e.range.to),l=s?.range?.to??0;return{selected:o?.[1]??l,absolute:l}}}},95109:(e,t,a)=>{a.d(t,{m:()=>m});var r=a(90782);let cancelOrder=async(e,{data:t},{clients:{commerce:a}})=>{if(!t?.orderId)throw new r.oY("Missing orderId");let i=await a.checkout.cancelOrder(t);return{data:i?.data}};var i=a(54107);let processOrderAuthorization=async(e,{data:t},{clients:{commerce:a}})=>{let r=await a.oms.processOrderAuthorization(t),n=(0,i.U)(r),o=!n&&(0,i.S)(r);return{isPendingForOtherAuthorizer:o,ruleForAuthorization:n}},subscribeToNewsletter=async(e,{data:t},{clients:{commerce:a}})=>{let r=await a.subscribeToNewsletter(t);return{id:r?.Id}};var n=a(12404),o=a.n(n),s=a(84802),l=a(66037),c=a(43606),d=a(25372);let createNewAddress=e=>{let t=e.postalCode,a=e.geoCoordinates,r={addressType:e.addressType||null,postalCode:t||null,city:null,state:null,country:e.country||null,street:null,number:null,neighborhood:null,complement:null,reference:null,geoCoordinates:[]};if(a){let e="object"==typeof a&&"latitude"in a?a.latitude:null,t="object"==typeof a&&"longitude"in a?a.longitude:null;r.geoCoordinates=null!==e&&null!==t?[t,e]:[]}return[r]},getAddressOrderForm=(e,t,a)=>{let r=t.postalCode,i=t.geoCoordinates,n=e?.shippingData?.availableAddresses??[],o=e?.shippingData?.selectedAddresses??[];if(!a&&o.length>0)return[o[0]];if(a&&n.length>0)for(let e of n){if(r&&i){let t=e.postalCode===r||e.geoCoordinates[0]===i.longitude&&e.geoCoordinates[1]===i.latitude;if(t)return[e]}if(r&&!i){let t=e.postalCode===r;if(t)return[e]}if(i&&!r){let t=e.geoCoordinates[0]===i.longitude&&e.geoCoordinates[1]===i.latitude;if(t)return[e]}}return null},shouldUpdateShippingData=(e,t)=>{if(!hasSessionPostalCodeOrGeoCoordinates(t)||!hasItems(e))return{updateShipping:!1,addressChanged:!1};let[a]=e?.shippingData?.selectedAddresses??[];if(checkPostalCode(a,t.postalCode)||checkGeoCoordinates(a,t.geoCoordinates)||checkAddressType(a,t.addressType))return{updateShipping:!0,addressChanged:!0};let{logisticsInfo:r}=e.shippingData;return shouldUpdateDeliveryInfo(r,t)?{updateShipping:!0,addressChanged:!1}:{updateShipping:!1,addressChanged:!1}},hasSessionPostalCodeOrGeoCoordinates=e=>!!e.postalCode||e.geoCoordinates?.latitude&&e.geoCoordinates?.longitude,checkPostalCode=(e,t)=>"string"==typeof t&&e?.postalCode!==t,checkGeoCoordinates=(e,t)=>"number"==typeof t?.latitude&&"number"==typeof t?.longitude&&(e?.geoCoordinates[0]!==t?.longitude||e?.geoCoordinates[1]!==t?.latitude),checkAddressType=(e,t)=>"string"==typeof t&&e?.addressType!==t,hasItems=e=>0!==e.items.length,shouldUpdateDeliveryInfo=(e,t)=>{let a=t?.deliveryMode?.deliveryChannel,r=t?.deliveryMode?.deliveryMethod,{startDate:i,endDate:n}=t?.deliveryMode?.deliveryWindow||{};return e.some(({selectedDeliveryChannel:e,selectedSla:t,slas:o})=>{let s=a&&e!==a,l=r&&t!==r;return o?.some(e=>!!s&&e.deliveryChannel===a||!!l&&e.id===r||i&&n&&e.deliveryChannel===a&&e.id===r&&(!e?.deliveryWindow||e?.deliveryWindow?.startDateUtc!==i||e?.deliveryWindow?.endDateUtc!==n)&&e.availableDeliveryWindows?.some(e=>e?.startDateUtc===i&&e?.endDateUtc===n))})},isAttachment=e=>e.valueReference===d.Cr.attachment,getId=e=>[e.itemOffered.sku,e.seller.identifier,e.price<.01?"Gift":void 0,e.itemOffered.additionalProperty?.filter(isAttachment).map(d.Ih).join("-")].filter(Boolean).join("::"),orderFormItemToOffer=(e,t)=>({listPrice:e.listPrice/100,price:e.sellingPrice/100,quantity:e.quantity,seller:{identifier:e.seller},itemOffered:{sku:e.id,image:[],name:e.name,additionalProperty:e.attachments.map(d.Vb)},index:t}),offerToOrderItemInput=e=>({quantity:e.quantity,seller:e.seller.identifier,id:e.itemOffered.sku,index:e.index,attachments:(e.itemOffered.additionalProperty?.filter(isAttachment)??[]).map(e=>({name:e.name,content:e.value}))}),groupById=e=>e.reduce((e,t)=>{let a=getId(t);return e.has(a)||e.set(a,[]),e.get(a)?.push(t),e},new Map),equals=(e,t)=>{let pick=(e,t)=>({...e,itemOffered:{sku:e.itemOffered.sku},index:t}),a=t.items.map(orderFormItemToOffer).map(pick),r=e.acceptedOffer.map(pick),i=e.orderNumber===t.orderFormId,n=o()(a,r);return i&&n};function hasChildItem(e,t){return e?.some(a=>null!==a.parentItemIndex&&void 0!==a.parentItemIndex&&e[a.parentItemIndex]?.id===t)}function hasParentItem(e,t){return e?.some(e=>e.id===t&&null!==e.parentItemIndex)}let joinItems=e=>{let t=e.items.reduce((t,a,r)=>{let i=hasParentItem(e.items,a.id)||hasChildItem(e.items,a.id)?`${getId(orderFormItemToOffer(a))}::${r}`:getId(orderFormItemToOffer(a));return t[i]||(t[i]=[]),t[i].push(a),t},{});return{...e,items:Object.values(t).map(e=>{let[t]=e,a=e.reduce((e,t)=>e+t.quantity,0),r=e.reduce((e,t)=>e+(t?.priceDefinition?.total??(t?.quantity??0)*(t?.sellingPrice??0)),0);return{...t,quantity:a,sellingPrice:r/a}})}},orderFormToCart=async(e,t,a)=>({order:{orderNumber:e.orderFormId,acceptedOffer:e.items.map(async e=>({...e,product:await t.load(`${e.id}-invisibleItems`)})),shouldSplitItem:a},messages:e.messages.map(({text:e,status:t})=>({text:e,status:t.toUpperCase()}))}),getOrderFormEtag=({items:e})=>(0,c.F)(JSON.stringify(e)),setOrderFormEtag=async(e,t)=>{try{let a=await t.checkout.setCustomData({id:e.orderFormId,appId:"faststore",key:"cartEtag",value:getOrderFormEtag(e)});return a}catch(e){throw console.error('Error while setting custom data to orderForm.\n Make sure to add the following custom app to the orderForm: \n{"fields":["cartEtag"],"id":"faststore","major":1}.\n More info at: https://developers.vtex.com/vtex-rest-api/docs/customizable-fields-with-checkout-api'),e}},isOrderFormStale=e=>{let t=e.customData?.customApps.find(e=>"faststore"===e.id),a=t?.fields?.cartEtag;if(null==a)return!0;let r=getOrderFormEtag(e);return r!==a},getOrderForm=async(e,{clients:{commerce:t}})=>t.checkout.orderForm({id:e}),clearOrderFormMessages=async(e,{clients:{commerce:t}})=>t.checkout.clearOrderFormMessages({id:e}),updateOrderFormShippingData=async(e,t,{clients:{commerce:a}})=>{if(!t)return e;let{updateShipping:r,addressChanged:i}=shouldUpdateShippingData(e,t);if(r){let r=getAddressOrderForm(e,t,i),n=r||createNewAddress(t),o=!!t.deliveryMode?.deliveryWindow;return o&&await a.checkout.shippingData({id:e.orderFormId,index:e.items.length,deliveryMode:t.deliveryMode,selectedAddresses:n},!1),a.checkout.shippingData({id:e.orderFormId,index:e.items.length,deliveryMode:t.deliveryMode,selectedAddresses:n},!0)}return e},getCookieCheckoutOrderNumber=(e,t)=>{if(!e)return"";let a=(0,s.parse)(e),r=a[t];return r?r.split("=")[1]:""},validateCart=async(e,{cart:{order:t},session:a},r)=>{let i=getCookieCheckoutOrderNumber(r.headers.cookie,"checkout.vtex.com"),n=""!==i?i:t?.orderNumber,{acceptedOffer:s,shouldSplitItem:c}=t,{clients:{commerce:d},loaders:{skuLoader:u}}=r,p=a?.channel,m=a?.locale;p&&(0,l.u)(r,p),m&&(0,l.V)(r,m);let g=await getOrderForm(n,r);0!==g.messages.length&&await clearOrderFormMessages(n,r);let f=isOrderFormStale(g);if(f){let e=await setOrderFormEtag(g,d).then(joinItems);if(n)return orderFormToCart(e,u,c)}let h=groupById(s),y=groupById(g.items.map(orderFormItemToOffer)),v=Array.from(y.entries()),S=Array.from(h.entries()),{itemsToAdd:I,itemsToUpdate:b}=S.reduce((e,[t,a])=>{let r=y.get(t);if(!r)return a.forEach(t=>e.itemsToAdd.push(t)),e;let[i,...n]=r;if(hasParentItem(g.items,i.itemOffered.sku)||hasChildItem(g.items,i.itemOffered.sku))return e.itemsToUpdate.push(i),e;let o=a.reduce((e,t)=>e+t.quantity,0);return e.itemsToUpdate.push({...i,quantity:o}),n.forEach(t=>e.itemsToUpdate.push({...t,quantity:0})),e},{itemsToAdd:[],itemsToUpdate:[]}),C=v.filter(([e])=>!h.has(e)).flatMap(([,e])=>e.map(e=>({...e,quantity:0}))),$=[...I,...b,...C].map(offerToOrderItemInput);if(0===$.length)return null;let P=await d.checkout.updateOrderFormItems({id:g.orderFormId,orderItems:$,shouldSplitItem:c}).then(e=>updateOrderFormShippingData(e,a,r)).then(e=>{if(a?.marketingData){let t={...e.marketingData,...a.marketingData};return d.checkout.marketingData({id:g.orderFormId,marketingData:t})}return e}).then(e=>setOrderFormEtag(e,d)).then(joinItems),w=o()(g.messages,P.messages);return equals(t,P)&&w?null:orderFormToCart(P,u,c)};var u=a(20914),p=a(18673);async function getPreciseLocationData(e,t,a){try{let r=await e.commerce.checkout.address({postalCode:a,country:t}),[i,n]=r.geoCoordinates;return{city:r.city,geoCoordinates:{latitude:n,longitude:i}}}catch(e){throw console.error(`Error while getting geo coordinates for the current postal code (${a}) and country (${t}).
|
|
1
|
+
"use strict";exports.id=9563,exports.ids=[9563],exports.modules={48116:(e,t,a)=>{a.d(t,{Z:()=>r});let r={}},29313:(e,t,a)=>{a.d(t,{Z:()=>r});let r={}},99563:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{h:()=>execute});var i=a(99664),n=a(37886),o=a(84656),s=a(36093),l=a(77397),c=a(45774),d=a(36550),u=a(57343),p=a(71017),m=a.n(p),g=a(57565),f=a(48116),h=a(29313),y=a(17486),v=e([i,n,o,s,l,c,d]);[i,n,o,s,l,c,d]=v.then?(await v)():v;let S=new Map(Object.entries(g)),I=(0,l.E9)(y.e),customFormatError=e=>e instanceof u.GraphQLError&&(0,l.T9)(e.originalError)?e:(console.error(e),new u.GraphQLError(`Sorry, something went wrong. ${e}`)),getEnvelop=async()=>(0,i.envelop)({plugins:[(0,i.useEngine)(u),(0,i.useSchema)(function(){let e=(0,c.loadFilesSync)(m().join(process.cwd(),"@generated"),{extensions:["graphql"]}),t=(0,l.yd)(y.e);return(0,d.makeExecutableSchema)({typeDefs:e,resolvers:[t,h.Z,f.Z]})}()),(0,i.useExtendContext)(I),(0,i.useMaskedErrors)({maskError:customFormatError}),(0,n.useGraphQlJit)(),(0,s.useValidationCache)(),(0,o.useParserCache)()]}),b=getEnvelop(),execute=async(e,t={headers:{}})=>{let{operation:a,variables:r,query:i}=e,{operationHash:n,operationName:o}=a.__meta__,s=i??S.get(n);if(null==s)throw new l.oY(`No query found for operationName ${o} and operationHash ${n}.`);let c=await b,{parse:d,contextFactory:u,execute:p,schema:m}=c(t),g=await u(t),{data:f,errors:h}=await p({schema:m,document:d(s),variableValues:r,contextValue:g,operationName:o});return{data:f,errors:h,extensions:{cookies:g.storage.cookies,cacheControl:g.cacheControl}}};r()}catch(e){r(e)}})},17486:(e,t,a)=>{a.d(t,{e:()=>n});var r=a(43412),i=a.n(r);let n={platform:i().platform,account:i().api.storeId,environment:i().api.environment,subDomainPrefix:i().api.subDomainPrefix??["www"],hideUnavailableItems:i().api.hideUnavailableItems,showSponsored:i().api.showSponsored,simulationBehavior:i().api.simulationBehavior,incrementAddress:i().api.incrementAddress,channel:i().session.channel,locale:i().session.locale,flags:{enableOrderFormSync:!0,enableUnavailableItemsOnCart:i().api?.enableUnavailableItemsOnCart??!1}}},48608:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{Z:()=>o});var i=a(38722),n=e([i]);i=(n.then?(await n)():n)[0];let min=(e,t)=>"number"==typeof e&&"number"==typeof t?e>t?t:e:"number"==typeof e?e:t,minScope=(e,t)=>"string"==typeof e&&"string"==typeof t?"public"===e&&"public"===t?"public":"private":e||t,o={typeDefs:"directive @cacheControl(sMaxAge: Int, staleWhileRevalidate: Int, scope: String) on FIELD_DEFINITION",transformer:e=>(0,i.mapSchema)(e,{[i.MapperKind.OBJECT_FIELD]:t=>{let a=i.getDirective(e,t,"cacheControl")?.[0];if(a){let{sMaxAge:e,staleWhileRevalidate:r,scope:i}=a,n=t.resolve;t.resolve=(t,a,o,s)=>(o.cacheControl={sMaxAge:min(o.cacheControl?.sMaxAge,e),staleWhileRevalidate:min(o.cacheControl?.staleWhileRevalidate,r),scope:minScope(o.cacheControl?.scope,i)},n?.(t,a,o,s))}return t}})};r()}catch(e){r(e)}})},77397:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{E9:()=>getContextFactory,T9:()=>s.T9,XD:()=>s.XD,lY:()=>s.lY,oY:()=>s.oY,yd:()=>getResolvers});var i=a(46919),n=a(33999),o=a(48608),s=a(90782),l=e([i,n,o]);[i,n,o]=l.then?(await l)():l;let c={vtex:{getResolvers:i.y,getContextFactory:i.E}};o.Z;let getResolvers=e=>c[e.platform].getResolvers(e),getContextFactory=e=>c[e.platform].getContextFactory(e);r()}catch(e){r(e)}})},90782:(e,t,a)=>{a.d(t,{QW:()=>isForbiddenError,S9:()=>FastStoreError,T9:()=>isFastStoreError,XD:()=>isNotFoundError,dR:()=>NotFoundError,lY:()=>ForbiddenError,oY:()=>BadRequestError,yj:()=>UnauthorizedError});let FastStoreError=class FastStoreError extends Error{extensions;constructor(e,t){super(t),this.extensions=e,this.name="FastStoreError"}};let BadRequestError=class BadRequestError extends FastStoreError{constructor(e){super({status:400,type:"BadRequestError"},e)}};let UnauthorizedError=class UnauthorizedError extends FastStoreError{constructor(e){super({status:401,type:"UnauthorizedError"},e)}};let ForbiddenError=class ForbiddenError extends FastStoreError{constructor(e){super({status:403,type:"ForbiddenError"},e)}};let NotFoundError=class NotFoundError extends FastStoreError{constructor(e){super({status:404,type:"NotFoundError"},e)}};let isFastStoreError=e=>e?.name==="FastStoreError",isForbiddenError=e=>e?.extensions?.type==="ForbiddenError",isNotFoundError=e=>e?.extensions?.type==="NotFoundError"},39365:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{K:()=>VtexCommerce});var i=a(84802),n=a(10602),o=a(77397),s=a(83503),l=a(18673),c=e([o,s]);[o,s]=c.then?(await c)():c;let d={method:"POST",headers:{"content-type":"application/json"}},VtexCommerce=({account:e,environment:t,incrementAddress:a,subDomainPrefix:r},c)=>{let u=`https://${e}.${t}.com.br`,p=(0,l.oc)(c),m=(0,l.H6)(c),g=(0,l.q4)(c),f=(0,s.L)(),h=new Headers(c.headers).get("x-forwarded-host")??c.headers?.host??"",y=r&&r.map(e=>e+".").find(e=>h.includes(e))||"",v=h.replace(y,"");return{catalog:{salesChannel:e=>(0,n.I)(`${u}/api/catalog_system/pub/saleschannel/${e}`,void 0,{storeCookies:p}),brand:{list:()=>(0,n.I)(`${u}/api/catalog_system/pub/brand/list`,void 0,{storeCookies:p})},category:{tree:(e=3)=>(0,n.I)(`${u}/api/catalog_system/pub/category/tree/${e}`,void 0,{storeCookies:p})},portal:{pagetype:e=>(0,n.I)(`${u}/api/catalog_system/pub/portal/pagetype/${e}`,void 0,{storeCookies:p})},products:{crossselling:({type:e,productId:t,groupByProduct:a=!0})=>{let r=new URLSearchParams({sc:c.storage.channel.salesChannel,groupByProduct:a.toString()});return(0,n.I)(`${u}/api/catalog_system/pub/products/crossselling/${e}/${t}?${r}`,void 0,{storeCookies:p})}}},checkout:{simulation:(e,{salesChannel:t}=c.storage.channel)=>{let a=new URLSearchParams({sc:t}),r=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForms/simulation?${a.toString()}`,{...d,headers:r,body:JSON.stringify(e)},{storeCookies:p})},shippingData:({id:e,index:t,deliveryMode:r,selectedAddresses:i},o)=>{let s=o?{startDateUtc:r?.deliveryWindow?.startDate,endDateUtc:r?.deliveryWindow?.endDate}:null,l={logisticsInfo:Array.from({length:t},(e,t)=>({itemIndex:t,selectedDeliveryChannel:r?.deliveryChannel||null,selectedSla:r?.deliveryMethod||null,deliveryWindow:s})),selectedAddresses:i,clearAddressIfPostalCodeNotFound:a},c=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/attachments/shippingData`,{...d,headers:c,body:JSON.stringify(l)},{storeCookies:p})},marketingData:({id:e,marketingData:t})=>{let a=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/attachments/marketingData`,{headers:a,body:JSON.stringify(t),method:"POST"},{storeCookies:p})},orderForm:({id:e,refreshOutdatedData:t=!0,channel:a=c.storage.channel})=>{let{salesChannel:r}=a,i=new URLSearchParams({refreshOutdatedData:t.toString(),sc:r}),o=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}?${i.toString()}`,{...d,headers:o},{storeCookies:p})},clearOrderFormMessages:({id:e})=>{let t=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/messages/clear`,{...d,headers:t,body:"{}"})},updateOrderFormItems:({id:e,orderItems:t,allowOutdatedData:a="paymentData",salesChannel:r=c.storage.channel.salesChannel,shouldSplitItem:i=!0})=>{let o=new URLSearchParams({allowOutdatedData:a,sc:r}),s=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/items?${o}`,{headers:s,body:JSON.stringify({orderItems:t,noSplitItem:!i}),method:"PATCH"},{storeCookies:p})},setCustomData:({id:e,appId:t,key:a,value:r})=>{let i=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orderForm/${e}/customData/${t}/${a}`,{headers:i,body:JSON.stringify({value:r}),method:"PUT"})},region:async({postalCode:e,geoCoordinates:t,country:a,salesChannel:r})=>{let i=new URLSearchParams({country:a,sc:r??""});e?i.append("postalCode",e):i.append("geoCoordinates",`${t?.longitude};${t?.latitude}`);let o=`${u}/api/checkout/pub/regions/?${i.toString()}`,s=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(o,{headers:s},{storeCookies:p})},address:async({postalCode:e,country:t})=>{let a=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/postal-code/${t}/${e}`,{headers:a},{storeCookies:p})},cancelOrder:({orderId:e,customerEmail:t,reason:a})=>{let r=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/checkout/pub/orders/${e}/user-cancel-request`,{method:"POST",headers:r,body:JSON.stringify({customerEmail:t,reason:a})},{})},pickupPoints:({geoCoordinates:e})=>{if(!e)throw Error("Missing required parameter for listing pickup points.");let t=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/logistics-shipping/pickuppoints/_search`,{method:"POST",headers:t,body:JSON.stringify({coordinate:e})},{storeCookies:p})}},session:e=>{let t=new URLSearchParams(e);t.set("items","profile.id,profile.email,profile.firstName,profile.lastName,shopper.firstName,shopper.lastName,shopper.organizationManager,store.channel,store.countryCode,store.cultureInfo,store.currencyCode,store.currencySymbol,authentication.customerId,authentication.storeUserId,authentication.storeUserEmail,authentication.unitId,authentication.unitName,checkout.regionId,public.postalCode");let a=m({"content-type":"application/json"}),r=i.parse(c?.headers?.cookie??"")?.vtex_session;return(0,n.I)(`${u}/api/sessions?${t.toString()}`,{method:r?"PATCH":"POST",headers:a,body:"{}"},{storeCookies:p})},subscribeToNewsletter:e=>(0,n.I)(`${u}/api/dataentities/NL/documents/`,{...d,body:JSON.stringify({...e,isNewsletterOptIn:!0}),method:"PATCH"},{storeCookies:p}),profile:{addresses:async t=>{let a=g(v,e);return(0,n.I)(`${u}/api/profile-system/pvt/profiles/${t}/addresses`,{headers:a},{storeCookies:p})}},oms:{userOrder:({orderId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/oms/user/orders/${t}`,{method:"GET",headers:a},{storeCookies:p})},listUserOrders:({page:e,status:t,dateInitial:a,dateFinal:r,text:i,clientEmail:o,perPage:s})=>{let l=new URLSearchParams;if(a){let e=new Date(a).setHours(0,0,0,0);a=new Date(e).toISOString()}if(r){let e=new Date(r).setHours(23,59,59,999);r=new Date(e).toISOString()}i&&l.append("text",i),t&&t.length>0&&l.append("status",t.filter(Boolean).join(",")),a&&r?l.append("creation_date",`creationDate:[${a} TO ${r}]`):a?l.append("creation_date",`creationDate:[${a} TO *]`):r&&l.append("creation_date",`creationDate:[* TO ${r}]`),o&&l.append("clientEmail",o),e&&l.append("page",e.toString()),s&&l.append("per_page",s.toString());let c=m({"content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/oms/user/orders?${l.toString()}`,{method:"GET",headers:c},{storeCookies:p})},getCommercialAuthorizationsByOrderId:({orderId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/${e}/commercial-authorizations/order/${t}`,{method:"GET",headers:a},{storeCookies:p})},processOrderAuthorization:async({orderAuthorizationId:t,dimensionId:a,ruleId:r,approved:i})=>{let o=g(v,e);return(0,n.I)(`${u}/${e}/commercial-authorizations/${t}/callback`,{method:"POST",headers:o,body:JSON.stringify({params:{ruleId:r,dimensionId:a,score:i?100:0}})},{storeCookies:p})}},units:{getUnitByUserId:({userId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}/unit`,{method:"GET",headers:a},{})},getOrgUnitById:({orgUnitId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}`,{method:"GET",headers:a},{})},getScopesByOrgUnit:({orgUnitId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/units/v1/${t}/scopes`,{method:"GET",headers:a},{})}},licenseManager:{getUserById:({userId:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/license-manager/users/${t}`,{method:"GET",headers:a},{})},getUserByEmail:({email:t})=>{let a=g(v,e);return(0,n.I)(`${u}/api/license-manager/pvt/users/${t}`,{method:"GET",headers:a},{})}},masterData:{getContractById:({contractId:e})=>{if(!e)throw new o.oY("Missing contractId to fetch CL fields.");let t=f({Accept:"application/json","content-type":"application/json","X-FORWARDED-HOST":v});return(0,n.I)(`${u}/api/dataentities/CL/documents/${e}?_fields=_all`,{method:"GET",headers:t},{})},getShopperById:({userId:e})=>{if(!e)throw new o.oY("Missing userId to fetch shopper name.");let t=f({Accept:"application/json","content-type":"application/json","X-FORWARDED-HOST":v}),a=e.replace(/-/g,"");return(0,n.I)(`${u}/api/dataentities/shopper/search?_where=(userId=${a} OR userId=${e})&_fields=_all&_schema=v1`,{method:"GET",headers:t},{})}},vtexid:{validate:()=>{let t=g(v,e);return(0,n.I)(`${u}/api/vtexid/credential/validate`,{headers:t,body:JSON.stringify({token:t.VtexIdclientAutCookie}),method:"POST"},{storeCookies:p})}}}};r()}catch(e){r(e)}})},10602:(e,t,a)=>{a.d(t,{I:()=>fetchAPI});var r=a(47881),i=a.n(r);let n=JSON.parse('{"u2":"@faststore/api","i8":"3.90.0"}');var o=a(90782);let s=`${n.u2}@${n.i8}`,fetchAPI=async(e,t,a)=>{let r=await i()(e,{...t,headers:{...t?.headers??{},"User-Agent":s}});if(r.ok)return a?.storeCookies&&a.storeCookies(r.headers),204!==r.status?r.json():void 0;console.error(e,t,r);let n=await r.text();if("number"==typeof r?.status)switch(r.status){case 400:throw new o.oY(n);case 401:throw new o.yj(n);case 403:throw new o.lY(n);case 404:throw new o.dR(n);default:throw new o.S9({status:r.status,type:"UnknownError"},n)}throw Error(n)}},73760:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{Z:()=>getClients});var i=a(39365),n=a(85295),o=e([i]);i=(o.then?(await o)():o)[0];let getClients=(e,t)=>{let a=(0,n.Z)(e,t),r=(0,i.K)(e,t);return{search:a,commerce:r}};r()}catch(e){r(e)}})},85295:(e,t,a)=>{a.d(t,{Z:()=>IntelligentSearch});var r=a(18673),i=a(10602);let n="trade-policy",o="region-id",s="fuzzy",l="operator",c="pickupPoint",d="shipping",u="delivery-options",p="in-stock",m=new Set([n,o,s,l,c,d,u,p]),isFuzzyFacet=e=>"fuzzy"===e.key&&("0"===e.value||"1"===e.value||"auto"===e.value),isOperatorFacet=e=>"operator"===e.key&&("and"===e.value||"or"===e.value),IntelligentSearch=({account:e,environment:t,hideUnavailableItems:a,simulationBehavior:g,showSponsored:f,subDomainPrefix:h},y)=>{let v=`https://${e}.${t}.com.br/api/io`,S=(0,r.H6)(y),I=new Headers(y.headers).get("x-forwarded-host")??y.headers?.host??"",b=h&&h.map(e=>e+".").find(e=>I.includes(e))||"",C=I.replace(b,""),$=S({"content-type":"application/json","X-FORWARDED-HOST":C}),getPolicyFacet=()=>{let{salesChannel:e}=y.storage.channel;return e?{key:n,value:e}:null},getRegionFacet=()=>{let{regionId:e,seller:t}=y.storage.channel,a=t?Buffer.from(`SW#${t}`).toString("base64"):null,r=a??e;return r?{key:o,value:r}:null},addDefaultFacets=e=>{let t=e.filter(({key:e})=>!m.has(e)),a=e.find(({key:e,value:t})=>e===d&&"all-delivery-methods"!==t)??null,r=e.find(({key:e,value:t})=>e===u&&"all-delivery-options"!==t)??null,i=e.find(({key:e})=>e===n)??getPolicyFacet(),s=e.find(({key:e})=>e===o)??getRegionFacet();return null!==a&&t.push(a),null!==r&&t.push(r),null!==i&&t.push(i),null!==s&&t.push(s),t},addSearchParamsFacets=(e,t)=>{let a=e.find(({key:e})=>e===s)??null,r=e.find(({key:e})=>e===l)??null,i=e.find(({key:e})=>e===c)??null;a&&isFuzzyFacet(a)&&t.append(s,a.value),r&&isOperatorFacet(r)&&t.append(l,r.value),i&&t.append(c,i.value)},search=({query:e="",page:t,count:r,sort:n="",selectedFacets:o=[],type:s,showInvisibleItems:l,sponsoredCount:c,hideUnavailableItems:d,allowRedirect:u=!1})=>{let m=new URLSearchParams({page:(t+1).toString(),count:0!==r?r.toString():"1",query:e,sort:n,locale:y.storage.locale});if(addSearchParamsFacets(o,m),l&&m.append("show-invisible-items","true"),void 0!==a){let e=o.find(({key:e})=>e===p),t=e?e.value:d?.toString()??a.toString();m.append("hideUnavailableItems",t)}void 0!==g&&m.append("simulationBehavior",g.toString()),void 0!==f&&m.append("showSponsored",f.toString()),void 0!==c&&m.append("sponsoredCount",c.toString()),void 0!==u&&m.append("allowRedirect",u.toString());let h=addDefaultFacets(o).map(({key:e,value:t})=>`${e}/${t}`).join("/");return(0,i.I)(`${v}/_v/api/intelligent-search/${s}/${h}?${m.toString()}`,{headers:$})};return{facets:e=>search({...e,type:"facets"}),products:e=>search({...e,type:"product_search"}),suggestedTerms:e=>{let t=new URLSearchParams({query:e.query?.toString()??"",locale:y.storage.locale});return(0,i.I)(`${v}/_v/api/intelligent-search/search_suggestions?${t.toString()}`,{headers:$})},topSearches:()=>{let e=new URLSearchParams({locale:y.storage.locale});return(0,i.I)(`${v}/_v/api/intelligent-search/top_searches?${e.toString()}`,{headers:$})},productCount:e=>{let t=new URLSearchParams;return e?.query&&t.append("query",e.query.toString()),(0,i.I)(`${v}/_v/api/intelligent-search/catalog_count?${t.toString()}`,{headers:$})}}}},46919:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{E:()=>getContextFactory,y:()=>getResolvers});var i=a(73760),n=a(11849),o=a(40468),s=a(77760),l=a(18668),c=a(71042),d=a(44452),u=a(95109),p=a(97097),m=a(14685),g=a(72541),f=a(41830),h=a(92584),y=a(1402),v=a(26465),S=a(38064),I=a(28881),b=a(98521),C=a(2146),$=a(13140),P=a(20914),w=e([i]);i=(w.then?(await w)():w)[0];let O={StoreCollection:l.s,StoreAggregateOffer:o.P,StoreProduct:g.M,StoreSeo:I.X,StoreFacet:c.Mj,StoreFacetBoolean:c.fZ,StoreFacetRange:c.Q_,StoreFacetValueBoolean:d.N,StoreOffer:m.u,StoreAggregateRating:s.C,StoreReview:v.e,StoreProductGroup:f.Z,StoreSearchResult:S.R,StorePropertyValue:h.X,SkuVariants:C.w,ShippingSLA:b.x,UserOrderResult:$.r,ObjectOrString:p.P,Query:y.A,Mutation:u.m},getContextFactory=e=>t=>(t.storage={channel:P.Z.parse(e.channel),flags:e.flags??{},locale:e.locale,cookies:new Map},t.clients=(0,i.Z)(e,t),t.loaders=(0,n.R)(e,t),t.account=e.account,t),getResolvers=e=>O;r()}catch(e){r(e)}})},95205:(e,t,a)=>{a.d(t,{i:()=>getCollectionLoader,n:()=>isCollectionPageType});var r=a(66464),i=a.n(r),n=a(81786),o=a.n(n),s=a(90782);let l=new Set(["brand","category","department","subcategory","collection","cluster"]),isCollectionPageType=e=>"string"==typeof e.pageType&&l.has(e.pageType.toLowerCase()),getCollectionLoader=(e,t)=>{let a=o()(20),loader=async e=>Promise.all(e.map(e=>a(async()=>{let a=await t.commerce.catalog.portal.pagetype(e);if(isCollectionPageType(a))return a;throw new s.dR(`Catalog returned ${a.pageType} for slug: ${e}. This usually happens when there is more than one category with the same name in the same category tree level.`)})));return new(i())(loader,{batch:!1})}},11849:(e,t,a)=>{a.d(t,{R:()=>getLoaders});var r=a(66464),i=a.n(r);let getSalesChannelLoader=(e,t)=>{let loader=async e=>Promise.all(e.map(e=>t.commerce.catalog.salesChannel(e)));return new(i())(loader)};var n=a(81786),o=a.n(n);let getSimulationLoader=(e,t)=>{let a=o()(1),loader=async e=>{let a=e.reduce((e,{items:t})=>[...e,t],[]),r=[...a.flat()],i=await t.commerce.checkout.simulation({country:e[0].country,postalCode:e[0].postalCode,items:r}),n=i.items.reduce((e,t)=>{let a=t.requestIndex;return"number"==typeof a&&a<e.length&&(e[a]=t),e},Array(r.length).fill(null)),o=a.reduce((e,t)=>[...e,t.length+e[e.length-1]],[0]);return a.map((e,t)=>({...i,items:n.slice(o[t],o[t+1]).filter(e=>!!e)}))},limited=async e=>a(loader,e);return new(i())(limited,{maxBatchSize:50})};var s=a(96693),l=a(90782);let getSkuLoader=({flags:e},t)=>{let loader=async a=>{let r=a.map(e=>e.split("-")[0]),i=a.some(e=>"invisibleItems"===e.split("-")[1]),{products:n}=await t.search.products({query:`sku:${r.join(";")}`,page:0,count:r.length,showInvisibleItems:i,...e?.enableUnavailableItemsOnCart&&{hideUnavailableItems:!1}}),o=n.reduce((e,t)=>{for(let a of t.items)e[a.itemId]=(0,s.j)(a,t);return e},{}),c=r.map(e=>o[e]),d=r.filter(e=>!o[e]);if(d.length>0)throw new l.dR(`Search API did not found the following skus: ${d.join(",")}`);return c};return new(i())(loader,{maxBatchSize:99})};var c=a(95205);let getLoaders=(e,{clients:t})=>{let a=getSkuLoader(e,t),r=getSimulationLoader(e,t),i=(0,c.i)(e,t),n=getSalesChannelLoader(e,t);return{skuLoader:a,simulationLoader:r,collectionLoader:i,salesChannelLoader:n}}},40468:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(92222),i=a(92170);let getHighPrice=(e,t={includeTaxes:!1})=>{let a=e.filter(r.pz),n=a[a.length-1],o=n?(0,r.nt)(n):0;return t.includeTaxes?(0,i.J)(o,n?.Tax,n?.product?.unitMultiplier):o},getLowPrice=(e,t={includeTaxes:!1})=>{let[a]=e.filter(r.pz),n=a?(0,r.nt)(a):0;return t.includeTaxes?(0,i.J)(n,a?.Tax,a?.product?.unitMultiplier):n},n={highPrice:e=>getHighPrice(e),lowPrice:e=>getLowPrice(e),lowPriceWithTaxes:e=>getLowPrice(e,{includeTaxes:!0}),offerCount:e=>e.length,priceCurrency:async(e,t,a)=>{let{loaders:{salesChannelLoader:r},storage:{channel:i}}=a,n=await r.load(i.salesChannel);return n.CurrencyCode??""},offers:e=>e}},77760:(e,t,a)=>{a.d(t,{C:()=>r});let r={ratingValue:()=>5,reviewCount:()=>0}},18668:(e,t,a)=>{a.d(t,{s:()=>n});var r=a(95205),i=a(60899);let isBrand=e=>"brand"===e.type||(0,r.n)(e)&&"brand"===e.pageType.toLowerCase(),isCollection=e=>(0,r.n)(e)&&"collection"===e.pageType.toLowerCase(),slugifyRoot=e=>isBrand(e)||isCollection(e)?(0,i.l)(e.name):(0,r.n)(e)?new URL(`https://${e.url}`).pathname.slice(1).toLowerCase():new URL(e.url).pathname.slice(1).toLowerCase(),n={id:({id:e})=>e.toString(),slug:e=>slugifyRoot(e),seo:e=>isBrand(e)||(0,r.n)(e)?{title:e.title??e.name,description:e.metaTagDescription}:{title:e.Title,description:e.MetaTagDescription},type:e=>isBrand(e)?"Brand":(0,r.n)(e)?e.pageType:0===e.level?"Department":"Category",meta:e=>{let t=slugifyRoot(e);return isBrand(e)?{selectedFacets:[{key:"brand",value:t}]}:isCollection(e)?{selectedFacets:[{key:"productclusterids",value:e.id}]}:{selectedFacets:t.split("/").map((e,t)=>({key:`category-${t+1}`,value:e}))}},breadcrumbList:async(e,t,a)=>{let{loaders:{collectionLoader:r}}=a,i=slugifyRoot(e),n=i.split("/").filter(e=>!!e),o=n.map((e,t)=>n.slice(0,t+1).join("/")),s=await Promise.all(o.map(async e=>{let t=await r.load(e);return{slug:e,...t}}));return{itemListElement:s.map((e,t)=>({item:isCollection(e)?`/${e.slug}`:new URL(`https://${e.url}`).pathname.toLowerCase(),name:e.name,position:t+1})),numberOfItems:s.length}}}},44452:(e,t,a)=>{a.d(t,{N:()=>r});let r={value:({value:e})=>e,label:({name:e})=>e||"unknown",selected:({selected:e})=>e,quantity:({quantity:e})=>e}},71042:(e,t,a)=>{a.d(t,{Mj:()=>n,Q_:()=>s,fZ:()=>o});var r=a(97911),i=a(7201);let n={__resolveType:({type:e,values:t})=>"TEXT"!==e&&"DELIVERY"!==e?"StoreFacetRange":t&&0!==t.length&&t.every(e=>e.range)?"StoreFacetRange":"StoreFacetBoolean"},o={key:({key:e})=>e,label:({name:e})=>e,values:({values:e})=>e.sort((e,t)=>e.name.localeCompare(t.name))},s={key:({key:e})=>e,label:({name:e})=>e,min:({values:e,key:t},a,{storage:{searchArgs:n}})=>{let o=(0,r.Vz)(n?.selectedFacets?.find(e=>e.key===t)?.value??""),s=(0,i.V)(e,(e,t)=>e.range.from-t.range.from),l=s?.range?.from??0;return{selected:o?.[0]??l,absolute:l}},max:({values:e,key:t},a,{storage:{searchArgs:n}})=>{let o=(0,r.Vz)(n?.selectedFacets?.find(e=>e.key===t)?.value??""),s=(0,i.V)(e,(e,t)=>t.range.to-e.range.to),l=s?.range?.to??0;return{selected:o?.[1]??l,absolute:l}}}},95109:(e,t,a)=>{a.d(t,{m:()=>m});var r=a(90782);let cancelOrder=async(e,{data:t},{clients:{commerce:a}})=>{if(!t?.orderId)throw new r.oY("Missing orderId");let i=await a.checkout.cancelOrder(t);return{data:i?.data}};var i=a(54107);let processOrderAuthorization=async(e,{data:t},{clients:{commerce:a}})=>{let r=await a.oms.processOrderAuthorization(t),n=(0,i.U)(r),o=!n&&(0,i.S)(r);return{isPendingForOtherAuthorizer:o,ruleForAuthorization:n}},subscribeToNewsletter=async(e,{data:t},{clients:{commerce:a}})=>{let r=await a.subscribeToNewsletter(t);return{id:r?.Id}};var n=a(12404),o=a.n(n),s=a(84802),l=a(66037),c=a(43606),d=a(25372);let createNewAddress=e=>{let t=e.postalCode,a=e.geoCoordinates,r={addressType:e.addressType||null,postalCode:t||null,city:null,state:null,country:e.country||null,street:null,number:null,neighborhood:null,complement:null,reference:null,geoCoordinates:[]};if(a){let e="object"==typeof a&&"latitude"in a?a.latitude:null,t="object"==typeof a&&"longitude"in a?a.longitude:null;r.geoCoordinates=null!==e&&null!==t?[t,e]:[]}return[r]},getAddressOrderForm=(e,t,a)=>{let r=t.postalCode,i=t.geoCoordinates,n=e?.shippingData?.availableAddresses??[],o=e?.shippingData?.selectedAddresses??[];if(!a&&o.length>0)return[o[0]];if(a&&n.length>0)for(let e of n){if(r&&i){let t=e.postalCode===r||e.geoCoordinates[0]===i.longitude&&e.geoCoordinates[1]===i.latitude;if(t)return[e]}if(r&&!i){let t=e.postalCode===r;if(t)return[e]}if(i&&!r){let t=e.geoCoordinates[0]===i.longitude&&e.geoCoordinates[1]===i.latitude;if(t)return[e]}}return null},shouldUpdateShippingData=(e,t)=>{if(!hasSessionPostalCodeOrGeoCoordinates(t)||!hasItems(e))return{updateShipping:!1,addressChanged:!1};let[a]=e?.shippingData?.selectedAddresses??[];if(checkPostalCode(a,t.postalCode)||checkGeoCoordinates(a,t.geoCoordinates)||checkAddressType(a,t.addressType))return{updateShipping:!0,addressChanged:!0};let{logisticsInfo:r}=e.shippingData;return shouldUpdateDeliveryInfo(r,t)?{updateShipping:!0,addressChanged:!1}:{updateShipping:!1,addressChanged:!1}},hasSessionPostalCodeOrGeoCoordinates=e=>!!e.postalCode||e.geoCoordinates?.latitude&&e.geoCoordinates?.longitude,checkPostalCode=(e,t)=>"string"==typeof t&&e?.postalCode!==t,checkGeoCoordinates=(e,t)=>"number"==typeof t?.latitude&&"number"==typeof t?.longitude&&(e?.geoCoordinates[0]!==t?.longitude||e?.geoCoordinates[1]!==t?.latitude),checkAddressType=(e,t)=>"string"==typeof t&&e?.addressType!==t,hasItems=e=>0!==e.items.length,shouldUpdateDeliveryInfo=(e,t)=>{let a=t?.deliveryMode?.deliveryChannel,r=t?.deliveryMode?.deliveryMethod,{startDate:i,endDate:n}=t?.deliveryMode?.deliveryWindow||{};return e.some(({selectedDeliveryChannel:e,selectedSla:t,slas:o})=>{let s=a&&e!==a,l=r&&t!==r;return o?.some(e=>!!s&&e.deliveryChannel===a||!!l&&e.id===r||i&&n&&e.deliveryChannel===a&&e.id===r&&(!e?.deliveryWindow||e?.deliveryWindow?.startDateUtc!==i||e?.deliveryWindow?.endDateUtc!==n)&&e.availableDeliveryWindows?.some(e=>e?.startDateUtc===i&&e?.endDateUtc===n))})},isAttachment=e=>e.valueReference===d.Cr.attachment,getId=e=>[e.itemOffered.sku,e.seller.identifier,e.price<.01?"Gift":void 0,e.itemOffered.additionalProperty?.filter(isAttachment).map(d.Ih).join("-")].filter(Boolean).join("::"),orderFormItemToOffer=(e,t)=>({listPrice:e.listPrice/100,price:e.sellingPrice/100,quantity:e.quantity,seller:{identifier:e.seller},itemOffered:{sku:e.id,image:[],name:e.name,additionalProperty:e.attachments.map(d.Vb)},index:t}),offerToOrderItemInput=e=>({quantity:e.quantity,seller:e.seller.identifier,id:e.itemOffered.sku,index:e.index,attachments:(e.itemOffered.additionalProperty?.filter(isAttachment)??[]).map(e=>({name:e.name,content:e.value}))}),groupById=e=>e.reduce((e,t)=>{let a=getId(t);return e.has(a)||e.set(a,[]),e.get(a)?.push(t),e},new Map),equals=(e,t)=>{let pick=(e,t)=>({...e,itemOffered:{sku:e.itemOffered.sku},index:t}),a=t.items.map(orderFormItemToOffer).map(pick),r=e.acceptedOffer.map(pick),i=e.orderNumber===t.orderFormId,n=o()(a,r);return i&&n};function hasChildItem(e,t){return e?.some(a=>null!==a.parentItemIndex&&void 0!==a.parentItemIndex&&e[a.parentItemIndex]?.id===t)}function hasParentItem(e,t){return e?.some(e=>e.id===t&&null!==e.parentItemIndex)}let joinItems=e=>{let t=e.items.reduce((t,a,r)=>{let i=hasParentItem(e.items,a.id)||hasChildItem(e.items,a.id)?`${getId(orderFormItemToOffer(a))}::${r}`:getId(orderFormItemToOffer(a));return t[i]||(t[i]=[]),t[i].push(a),t},{});return{...e,items:Object.values(t).map(e=>{let[t]=e,a=e.reduce((e,t)=>e+t.quantity,0),r=e.reduce((e,t)=>e+(t?.priceDefinition?.total??(t?.quantity??0)*(t?.sellingPrice??0)),0);return{...t,quantity:a,sellingPrice:r/a}})}},orderFormToCart=async(e,t,a)=>({order:{orderNumber:e.orderFormId,acceptedOffer:e.items.map(async e=>({...e,product:await t.load(`${e.id}-invisibleItems`)})),shouldSplitItem:a},messages:e.messages.map(({text:e,status:t})=>({text:e,status:t.toUpperCase()}))}),getOrderFormEtag=({items:e})=>(0,c.F)(JSON.stringify(e)),setOrderFormEtag=async(e,t)=>{try{let a=await t.checkout.setCustomData({id:e.orderFormId,appId:"faststore",key:"cartEtag",value:getOrderFormEtag(e)});return a}catch(e){throw console.error('Error while setting custom data to orderForm.\n Make sure to add the following custom app to the orderForm: \n{"fields":["cartEtag"],"id":"faststore","major":1}.\n More info at: https://developers.vtex.com/vtex-rest-api/docs/customizable-fields-with-checkout-api'),e}},isOrderFormStale=e=>{let t=e.customData?.customApps.find(e=>"faststore"===e.id),a=t?.fields?.cartEtag;if(null==a)return!0;let r=getOrderFormEtag(e);return r!==a},getOrderForm=async(e,{clients:{commerce:t}})=>t.checkout.orderForm({id:e}),clearOrderFormMessages=async(e,{clients:{commerce:t}})=>t.checkout.clearOrderFormMessages({id:e}),updateOrderFormShippingData=async(e,t,{clients:{commerce:a}})=>{if(!t)return e;let{updateShipping:r,addressChanged:i}=shouldUpdateShippingData(e,t);if(r){let r=getAddressOrderForm(e,t,i),n=r||createNewAddress(t),o=!!t.deliveryMode?.deliveryWindow;return o&&await a.checkout.shippingData({id:e.orderFormId,index:e.items.length,deliveryMode:t.deliveryMode,selectedAddresses:n},!1),a.checkout.shippingData({id:e.orderFormId,index:e.items.length,deliveryMode:t.deliveryMode,selectedAddresses:n},!0)}return e},getCookieCheckoutOrderNumber=(e,t)=>{if(!e)return"";let a=(0,s.parse)(e),r=a[t];return r?r.split("=")[1]:""},validateCart=async(e,{cart:{order:t},session:a},r)=>{let i=getCookieCheckoutOrderNumber(r.headers.cookie,"checkout.vtex.com"),n=""!==i?i:t?.orderNumber,{acceptedOffer:s,shouldSplitItem:c}=t,{clients:{commerce:d},loaders:{skuLoader:u}}=r,p=a?.channel,m=a?.locale;p&&(0,l.u)(r,p),m&&(0,l.V)(r,m);let g=await getOrderForm(n,r);0!==g.messages.length&&await clearOrderFormMessages(n,r);let f=isOrderFormStale(g);if(f){let e=await setOrderFormEtag(g,d).then(joinItems);if(n)return orderFormToCart(e,u,c)}let h=groupById(s),y=groupById(g.items.map(orderFormItemToOffer)),v=Array.from(y.entries()),S=Array.from(h.entries()),{itemsToAdd:I,itemsToUpdate:b}=S.reduce((e,[t,a])=>{let r=y.get(t);if(!r)return a.forEach(t=>e.itemsToAdd.push(t)),e;let[i,...n]=r;if(hasParentItem(g.items,i.itemOffered.sku)||hasChildItem(g.items,i.itemOffered.sku))return e.itemsToUpdate.push(i),e;let o=a.reduce((e,t)=>e+t.quantity,0);return e.itemsToUpdate.push({...i,quantity:o}),n.forEach(t=>e.itemsToUpdate.push({...t,quantity:0})),e},{itemsToAdd:[],itemsToUpdate:[]}),C=v.filter(([e])=>!h.has(e)).flatMap(([,e])=>e.map(e=>({...e,quantity:0}))),$=[...I,...b,...C].map(offerToOrderItemInput);if(0===$.length)return null;let P=await d.checkout.updateOrderFormItems({id:g.orderFormId,orderItems:$,shouldSplitItem:c}).then(e=>updateOrderFormShippingData(e,a,r)).then(e=>{if(a?.marketingData){let t={...e.marketingData,...a.marketingData};return d.checkout.marketingData({id:g.orderFormId,marketingData:t})}return e}).then(e=>setOrderFormEtag(e,d)).then(joinItems),w=o()(g.messages,P.messages);return equals(t,P)&&w?null:orderFormToCart(P,u,c)};var u=a(20914),p=a(18673);async function getPreciseLocationData(e,t,a){try{let r=await e.commerce.checkout.address({postalCode:a,country:t}),[i,n]=r.geoCoordinates;return{city:r.city,geoCoordinates:{latitude:n,longitude:i}}}catch(e){throw console.error(`Error while getting geo coordinates for the current postal code (${a}) and country (${t}).
|
|
2
2
|
`),e}}let validateSession=async(e,{session:t,search:a},{clients:r,headers:i,account:n})=>{let s;let l=u.Z.parse(t.channel??""),c=String(t.postalCode??""),d=t.country??"",m=t.city??null,g=t.geoCoordinates??null,f=!m||!g;if(f&&""!==c&&""!==d){let e=await getPreciseLocationData(r,d,c);m=e.city,g=e.geoCoordinates}let h=new URLSearchParams(a);h.has("facets")&&h.delete("facets");let y=h.get("sc")??l.salesChannel;h.set("sc",y),c&&h.set("postalCode",c),d&&h.set("country",d),g&&h.set("geoCoordinates",`${g.longitude},${g.latitude}`);let{marketingData:v}=t,S={utmCampaign:h.get("utm_campaign")??v?.utmCampaign??"",utmMedium:h.get("utm_medium")??v?.utmMedium??"",utmSource:h.get("utm_source")??v?.utmSource??"",utmiCampaign:h.get("utmi_cp")??v?.utmiCampaign??"",utmiPage:h.get("utmi_p")??v?.utmiPage??"",utmiPart:h.get("utmi_pc")??v?.utmiPart??""},I=(0,p.aj)((0,p.w5)(i?.cookie??"",n)),b=I?.isRepresentative,C=I?.customerId,$=I?.unitId,P=await r.commerce.session(h.toString()).catch(()=>null),w=P?.namespaces.profile??null,O=P?.namespaces.shopper??null,k=P?.namespaces.store??null,D=P?.namespaces.authentication??null,F=P?.namespaces.checkout??null,x=P?.namespaces.public??null,N=null;if(b&&w?.id?.value)try{N=await r.commerce.masterData.getContractById({contractId:w.id.value})}catch(e){console.error(`Error while getting contract data for profile ID (${w.id.value}).
|
|
3
|
-
`)}if(l.seller&&(c||g)){let e=await r.commerce.checkout.region({postalCode:c,geoCoordinates:g,country:d,salesChannel:y}),t=e?.[0];s=t?.sellers.find(e=>l.seller===e.id)}let T={...t,currency:{code:k?.currencyCode?.value??t.currency.code,symbol:k?.currencySymbol?.value??t.currency.symbol},country:k?.countryCode?.value??d,channel:u.Z.stringify({salesChannel:k?.channel?.value??l.salesChannel,regionId:F?.regionId?.value??l.regionId,seller:s?.id,hasOnlyDefaultSalesChannel:!k?.channel?.value}),b2b:b?{isRepresentative:b??!1,customerId:D?.customerId?.value??C??"",unitName:D?.unitName?.value??"",unitId:D?.unitId?.value??$??"",firstName:O?.firstName?.value??"",lastName:O?.lastName?.value??"",userName:`${O?.firstName?.value??""} ${O?.lastName?.value??""}`.trim(),userEmail:D?.storeUserEmail.value??"",savedPostalCode:x?.postalCode?.value??"",contractName:N?.corporateName??""}:null,marketingData:S,person:w?.id?{id:w.id?.value??"",email:w.email?.value??"",givenName:w.firstName?.value??"",familyName:w.lastName?.value??""}:null,geoCoordinates:g?.latitude&&g?.longitude&&g||null,city:m};return o()(t,T)?null:T},m={validateCart:validateCart,validateSession:validateSession,subscribeToNewsletter:subscribeToNewsletter,cancelOrder:cancelOrder,processOrderAuthorization:processOrderAuthorization}},97097:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(57343),i=a(36548);let n=new r.GraphQLScalarType({name:"ObjectOrString",description:"A string or the string representation of an object (a stringified object).",parseValue:function(e){return"string"==typeof e?getValueAsObjectOrString(e):null},serialize:function(e){return"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:null},parseLiteral:e=>e.kind===i.Kind.STRING?getValueAsObjectOrString(e.value):null});function getValueAsObjectOrString(e){try{return JSON.parse(e)}catch(t){return e}}},14685:(e,t,a)=>{a.d(t,{u:()=>n});var r=a(92222),i=a(92170);let isSearchItem=e=>"Price"in e&&"seller"in e&&"product"in e,isOrderFormItem=e=>"skuName"in e,n={priceCurrency:async(e,t,a)=>{let{loaders:{salesChannelLoader:r},storage:{channel:i}}=a,n=await r.load(i.salesChannel);return n.CurrencyCode??""},priceValidUntil:e=>isSearchItem(e)?e.PriceValidUntil??"":isOrderFormItem(e)?e.priceValidUntil??"":null,itemCondition:()=>"https://schema.org/NewCondition",availability:async e=>isSearchItem(e)?(0,r.Q1)((0,r.pz)(e)):isOrderFormItem(e)?(0,r.Q1)((0,r.Q0)(e.availability)):null,seller:(e,t,a)=>isSearchItem(e)?{identifier:a.storage.channel?.seller||e.seller.sellerId||""}:isOrderFormItem(e)?{identifier:e.seller}:null,price:e=>isSearchItem(e)?(0,r.nt)(e):isOrderFormItem(e)?e.sellingPrice/100:null,priceWithTaxes:e=>isSearchItem(e)?(0,i.J)((0,r.nt)(e),e?.Tax,e.product.unitMultiplier):isOrderFormItem(e)?(0,i.J)(e.sellingPrice/100,e.tax/100,e.unitMultiplier):null,sellingPrice:e=>isSearchItem(e)?(0,r.Tn)(e):isOrderFormItem(e)?e.sellingPrice/100:null,listPrice:e=>isSearchItem(e)?e.ListPrice??0:isOrderFormItem(e)?e.listPrice/100:null,listPriceWithTaxes:e=>isSearchItem(e)?(0,i.J)(e.ListPrice??0,e?.Tax,e.product.unitMultiplier):isOrderFormItem(e)?(0,i.J)(e.listPrice/100,e.tax/100,e.unitMultiplier):null,itemOffered:e=>isSearchItem(e)?e.product:isOrderFormItem(e)?{...e.product,attachmentsValues:e.attachments}:null,quantity:e=>isSearchItem(e)?e.AvailableQuantity??0:isOrderFormItem(e)?e.quantity:null}},72541:(e,t,a)=>{a.d(t,{M:()=>s});let canonicalFromProduct=({linkText:e})=>`/${e}/p`,enhanceCommercialOffer=({offer:e,seller:t,product:a})=>({...e,product:a,seller:t});var r=a(92222),i=a(25372),n=a(60899);let o={imageText:"image",imageUrl:"https://storecomponents.vtexassets.com/assets/faststore/images/image___117a6d3e229a96ad0e0d0876352566e2.svg",imageLabel:"label"},getSlug=(e,t)=>`${e}-${t}`,getPath=(e,t)=>`/${getSlug(e,t)}/p`,nonEmptyArray=e=>Array.isArray(e)&&e.length>0?e:null;function removeTrailingSlashes(e){return e.replace(/^\/+|\/+$/g,"")}let findMainTreeIndex=(e,t)=>{let a=e.findIndex(e=>{let a=removeTrailingSlashes(e).split("/").at(-1);return a===t});return a<0?0:a},s={productID:({itemId:e})=>e,name:({isVariantOf:e,name:t})=>t??e.productName,slug:({isVariantOf:{linkText:e},itemId:t})=>getSlug(e,t),description:({isVariantOf:{description:e}})=>e,seo:({isVariantOf:e})=>({title:e.productTitle||e.productName,description:e.metaTagDescription||e.description,canonical:canonicalFromProduct(e)}),brand:({isVariantOf:{brand:e}})=>({name:e}),unitMultiplier:({unitMultiplier:e})=>e,breadcrumbList:({isVariantOf:{categories:e,productName:t,linkText:a,categoryId:r,categoriesIds:i},itemId:o})=>{let s=findMainTreeIndex(i,r),l=e[s],c=removeTrailingSlashes(l).split("/");return{itemListElement:[...c.map((e,t)=>{let a=`/${c.slice(0,t+1).map(n.l).join("/")}/`;return{name:e,item:a,position:t+1}}),{name:t,item:getPath(a,o),position:c.length+1}],numberOfItems:c.length}},image:({images:e},t)=>{let a=(nonEmptyArray(e)??[o]).map(({imageUrl:e,imageText:t,imageLabel:a})=>({alternateName:t??"",url:e.replace("vteximg.com.br","vtexassets.com"),keywords:a}));if("object"!=typeof t)return a;let{context:r,limit:i}=t,n="generic"!==r;i=(i=i||-1)<=-1?void 0:i;let s=n?a.filter(({keywords:e})=>e===r):a;return(s=0===s.length?a:s).slice(0,i)},sku:({itemId:e})=>e,gtin:({ean:e,referenceId:t})=>e||(t[0]?.Value??""),review:()=>[],aggregateRating:()=>({}),offers:e=>e.sellers.map(t=>enhanceCommercialOffer({offer:t.commertialOffer,seller:t,product:e})).sort(r.T0),isVariantOf:e=>e,additionalProperty:({variations:e=[],attachmentsValues:t=[],attributes:a=[]})=>{let r=e.flatMap(({name:e,values:t})=>t.map(t=>({name:e,value:t,valueReference:i.Cr.specification}))),n=t.map(i.Vb),o=a.map(i.pl);return[...r,...n,...o]},hasSpecifications:({isVariantOf:e})=>!!e.skuSpecifications?.length,skuSpecifications:({isVariantOf:{skuSpecifications:e}})=>e??[],specificationGroups:({isVariantOf:{specificationGroups:e}})=>e,releaseDate:({isVariantOf:{releaseDate:e}})=>e??"",advertisement:({isVariantOf:{advertisement:e}})=>e,deliveryPromiseBadges:({isVariantOf:{deliveryPromisesBadges:e}})=>e}},41830:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(96693),i=a(25372);let n=new Set(["allSpecifications"]),o={hasVariant:e=>e.isVariantOf.items.map(t=>(0,r.j)(t,e.isVariantOf)),productGroupID:({isVariantOf:e})=>e.productId,name:e=>e.isVariantOf.productName,skuVariants:e=>e,additionalProperty:({isVariantOf:{specificationGroups:e}})=>e.filter(e=>!n.has(e.name)).flatMap(({specifications:e})=>e.flatMap(({name:e,values:t})=>t.map(t=>({name:e,value:t,valueReference:i.Cr.specification}))))}},92584:(e,t,a)=>{a.d(t,{X:()=>i});var r=a(25372);let i={propertyID:e=>e.propertyID||(0,r.Ih)(e),name:({name:e})=>e,value:({value:e})=>e,valueReference:({valueReference:e})=>e}},1402:(e,t,a)=>{a.d(t,{A:()=>p});var r=a(90782),i=a(54107),n=a(66037),o=a(18673),s=a(96693),l=a(97911),c=a(1191);let d={price_desc:"price:desc",price_asc:"price:asc",orders_desc:"orders:desc",name_desc:"name:desc",name_asc:"name:asc",release_desc:"release:desc",discount_desc:"discount:desc",score_desc:""};var u=a(18668);let p={product:async(e,{locator:t},a)=>{let i=(0,l.mN)(t),o=(0,l.PB)(t),d=(0,l.Gh)(t),u=(0,l.lX)(t);i&&(0,n.u)(a,i),o&&(0,n.V)(a,o);let{loaders:{skuLoader:p},clients:{commerce:m,search:g}}=a;try{let e=d??u?.split("-").pop()??"";if(!(0,c.t)(e))throw Error("Invalid SkuId");let t=await p.load(e);if(u&&t.isVariantOf.linkText&&!u.startsWith(t.isVariantOf.linkText))throw Error(`Slug was set but the fetched sku does not satisfy the slug condition. slug: ${u}, linkText: ${t.isVariantOf.linkText}`);return t}catch(i){if(null==u)throw new r.oY("Missing slug or id");let e=await m.catalog.portal.pagetype(`${u}/p`);if("Product"!==e.pageType||!e.id)throw new r.dR(`No product found for slug ${u}`);let{products:[t]}=await g.products({page:0,count:1,query:`product:${e.id}`,hideUnavailableItems:!1});if(!t)throw new r.dR(`No product found for id ${e.id}`);let a=(0,c.E)(t.items);return(0,s.j)(a,t)}},collection:(e,{slug:t},a)=>{let{loaders:{collectionLoader:r}}=a;return r.load(t)},search:async(e,{first:t,after:a,sort:r,term:i,selectedFacets:o,sponsoredCount:s},c)=>{let u=(0,l.mN)(o),p=(0,l.PB)(o),m=(0,l.iD)(o);u&&(0,n.u)(c,u),p&&(0,n.V)(c,p);let g=i;if(m){let e=await c.clients.commerce.catalog.products.crossselling({type:l.vE[m.key],productId:m.value});g=`product:${e.map(e=>e.productId).slice(0,t).join(";")}`}let f=a?Number(a):0,h={page:Math.ceil(f/t)||0,count:t,query:g??void 0,sort:d[r??"score_desc"],selectedFacets:o?.flatMap(l.S9)??[],sponsoredCount:s??void 0},y=c.clients.search.products(h);return{searchArgs:h,productSearchPromise:y}},allProducts:async(e,{first:t,after:a},r)=>{let{clients:{search:i}}=r,n=a?Number(a):0,o=await i.products({page:Math.ceil(n/t),count:t}),l=o.products.flatMap(e=>e.items.map(t=>(0,s.j)(t,e))).filter(e=>e.sellers.length>0);return{pageInfo:{hasNextPage:o.pagination.after.length>0,hasPreviousPage:o.pagination.before.length>0,startCursor:"0",endCursor:o.recordsFiltered.toString(),totalCount:o.recordsFiltered},edges:l.map((e,t)=>({node:e,cursor:(n+t).toString()}))}},products:async(e,{productIds:t},a)=>{let{clients:{search:r}}=a;if(!t.length)return[];let i=`id:${t.join(";")}`,n=await r.products({page:0,count:t.length,query:i});return n.products.flatMap(e=>e.items.map(t=>(0,s.j)(t,e))).filter(e=>t.includes(e.itemId)&&e.sellers.length>0)},allCollections:async(e,{first:t,after:a},r)=>{let{clients:{commerce:i}}=r,n=a?Number(a):0,[o,s]=await Promise.all([i.catalog.brand.list(),i.catalog.category.tree()]),l=[],dfs=(e,t)=>{for(let a of(l.push({...e,level:t}),e.children))dfs(a,t+1)};for(let e of s)dfs(e,0);let c=[...o.filter(e=>e.isActive).map(e=>({...e,type:"brand"})),...l],d=c.filter(e=>!!u.s.slug(e,null,r,null));return{pageInfo:{hasNextPage:d.length-n>t,hasPreviousPage:n>0,startCursor:"0",endCursor:(Math.min(t,d.length-n)-1).toString(),totalCount:d.length},edges:d.slice(n,n+t).map((e,t)=>({node:e,cursor:(n+t).toString()}))}},shipping:async(e,{country:t,items:a,postalCode:r},i)=>{let{loaders:{simulationLoader:n},clients:{commerce:o}}=i,[s,l]=await Promise.all([n.load({country:t,items:a,postalCode:r}),o.checkout.address({postalCode:r,country:t})]);return{...s,address:l}},redirect:async(e,{term:t,selectedFacets:a},r)=>{if(!t&&(!a||!a.length))return null;let{redirect:i}=await r.clients.search.products({page:1,count:1,query:t??void 0,selectedFacets:a?.flatMap(l.S9)??[],allowRedirect:!0});return{url:i}},sellers:async(e,{postalCode:t,geoCoordinates:a,country:r,salesChannel:i},n)=>{let{clients:{commerce:o}}=n,s=await o.checkout.region({postalCode:t,geoCoordinates:a,country:r,salesChannel:i}),l=s?.[0],{id:c,sellers:d}=l;return{id:c,sellers:d}},profile:async(e,{id:t},a)=>{let{clients:{commerce:r}}=a,i=await r.profile.addresses(t),n=function(e){return e&&0!==Object.keys(e).length?Object.values(e).map(e=>JSON.parse(e)):[]}(i);return{addresses:n}},productCount:async(e,{term:t},a)=>{let{clients:{search:r}}=a,i=await r.productCount({query:t??void 0});return i},userOrder:async(e,{orderId:t},a)=>{let{clients:{commerce:n}}=a;if(!t)throw new r.oY("Missing orderId");try{let e=await n.oms.userOrder({orderId:t});if(!e)throw new r.dR(`No order found for id ${t}`);let a=null;try{let e=await n.oms.getCommercialAuthorizationsByOrderId({orderId:t});a=(0,i.U)(e)}catch(e){}let o=await n.masterData.getShopperById({userId:e.purchaseAgentData?.purchaseAgents?.[0]?.userId??""})??[],s=o[0]??{};return{orderId:e.orderId,creationDate:e.creationDate,totals:e.totals,items:e.items,shippingData:e.shippingData,paymentData:e.paymentData,customData:e.customData,status:e.status,statusDescription:e.statusDescription,allowCancellation:e.allowCancellation,storePreferencesData:e.storePreferencesData,clientProfileData:e.clientProfileData,canProcessOrderAuthorization:("waiting-for-confirmation"===e.status||"waiting-for-authorization"===e.status)&&!!a,ruleForAuthorization:a,shopper:{firstName:s?.firstName||"",lastName:s?.lastName||"",email:s?.email||"",phone:s?.phone||""}}}catch(n){let e=n.message,a={};try{let t=JSON.parse(e);a=t.error||t}catch{a={message:e}}let i=a?.message||e;if((0,r.XD)(n))throw new r.dR(`No order found for id ${t}. ${i}.`);if((0,r.QW)(n))throw new r.lY(`You are forbidden to interact with order with id ${t}. ${i}.`);throw n}},listUserOrders:async(e,t,a)=>{let{clients:{commerce:r}}=a,i=await r.oms.listUserOrders(t);return{list:i.list?.map(e=>({orderId:e.orderId,creationDate:e.creationDate,clientName:e.clientName,items:e.items,totalValue:e.totalValue,status:e.status,statusDescription:e.statusDescription,ShippingEstimatedDate:e.ShippingEstimatedDate,customFields:e.customFields,currencyCode:e.currencyCode})),paging:i.paging}},validateUser:async(e,t,a)=>{let{clients:{commerce:i}}=a;try{let e=await i.vtexid.validate();return{isValid:"Success"===e.authStatus}}catch(e){throw new r.lY("You are not allowed to access this resource")}},userDetails:async(e,t,a)=>{let{clients:{commerce:r}}=a,i=await r.session("").catch(()=>null),n=i?.namespaces.shopper??null,o=i?.namespaces.authentication??null;return{name:n?.firstName?.value??"",email:o?.storeUserEmail.value??"",role:["Admin"],orgUnit:o?.unitName?.value??""}},accountProfile:async(e,t,a)=>{let{account:r,headers:i,clients:{commerce:n}}=a,s=(0,o.aj)((0,o.w5)(i?.cookie??"",r));if(!s?.userId)return null;if(s?.isRepresentative){let e=await n.session("").catch(()=>null);if(!e)return null;let t=e.namespaces.profile??null,a=await n.masterData.getContractById({contractId:t?.id?.value??""}),r=a?.corporateName??`${(t?.firstName?.value??"").trim()} ${(t?.lastName?.value??"").trim()}`.trim();return{name:r||"",email:t?.email?.value||"",id:t?.id?.value||""}}let l=await n.licenseManager.getUserById({userId:s?.userId}).catch(()=>null);return{name:l?.name||"",email:l?.email||"",id:l?.id||""}},pickupPoints:async(e,{geoCoordinates:t},a)=>{let{clients:{commerce:r}}=a,i=await r.checkout.pickupPoints({geoCoordinates:t});return i}}},26465:(e,t,a)=>{a.d(t,{e:()=>r});let r={reviewRating:()=>({ratingValue:5,bestRating:5}),author:()=>({name:""})}},38064:(e,t,a)=>{a.d(t,{R:()=>n});var r=a(96693),i=a(1191);let isRootFacet=(e,t,a)=>t?"category-1"===e.key:!!a&&"brand"===e.key,n={suggestions:async(e,t,a)=>{let{clients:{search:n}}=a,{searchArgs:o}=e;if(!o.query){let e=await n.topSearches();return{terms:e.searches.map(e=>({value:e.term,count:e.count})),products:[]}}let{productSearchPromise:s}=e,[l,c]=await Promise.all([n.suggestedTerms(o),s]),d=c.products.map(e=>{let t=(0,i.E)(e.items);return t&&(0,r.j)(t,e)}).filter(e=>!!e),{searches:u}=l;return{terms:u.map(e=>({value:e.term,count:e.count})),products:d}},products:async({productSearchPromise:e})=>{let t=await e,a=t.products.map(e=>{let t=(0,i.E)(e.items);return t&&(0,r.j)(t,e)}).filter(e=>!!e);return{pageInfo:{hasNextPage:t.pagination.after.length>0,hasPreviousPage:t.pagination.before.length>0,startCursor:"0",endCursor:t.recordsFiltered.toString(),totalCount:t.recordsFiltered},edges:a.map((e,t)=>({node:e,cursor:t.toString()}))}},facets:async({searchArgs:e},t,a)=>{let{clients:{search:r}}=a;a.storage.searchArgs=e;let{facets:i=[]}=await r.facets(e),n=!e.query,o=!!e.selectedFacets?.length&&"category-1"===e.selectedFacets[0].key,s=!!e.selectedFacets?.length&&"brand"===e.selectedFacets[0].key,l=i.filter(e=>!n||!isRootFacet(e,o,s));return l},metadata:async({productSearchPromise:e})=>{let t=await e;return{isTermMisspelled:t.correction?.misspelled??!1,logicalOperator:t.operator,fuzzy:t.fuzzy}}}},28881:(e,t,a)=>{a.d(t,{X:()=>r});let r={title:({title:e})=>e??"",description:({description:e})=>e??"",canonical:({canonical:e})=>e??"",titleTemplate:()=>""}},98521:(e,t,a)=>{a.d(t,{_:()=>getLocalizedEstimates,x:()=>n});let r=["bd","d","h","m"],isUnit=e=>r.includes(e),i={bd:{0:"Today",1:"In 1 business day",other:"Up to # business days"},d:{0:"Today",1:"In 1 day",other:"Up to # days"},h:{0:"Now",1:"In 1 hour",other:"Up to # hours"},m:{0:"Now",1:"In 1 minute",other:"Up to # minutes"}},getLocalizedEstimates=e=>{let[t,a]=[e.split(/\D+/)[0],e.split(/[0-9]+/)[1]],r=""!==t&&!Number.isNaN(Number(t)),n=isUnit(a);if(!r||!n)return"";let o=2>Number(t)?Number(t):"other";return i[a][o].replace("#",t)??""},n={carrier:e=>e?.friendlyName??e?.name??"",price:e=>e?.price?e.price/100:e?.price,localizedEstimates:e=>e?.shippingEstimate?getLocalizedEstimates(e.shippingEstimate):""}},2146:(e,t,a)=>{a.d(t,{w:()=>n});var r=a(96693);let i="skuvariation";function findSkuVariantImage(e,t){let a=`${i}${t}`.toLowerCase(),r=e.find(e=>e.imageLabel===a);if(r)return r;let n=e.find(e=>e.imageLabel===i);return n||e[0]}function getActiveSkuVariations(e){let t={};return e.forEach(e=>{t[e.name]=e.values[0]}),t}let n={activeVariations:e=>getActiveSkuVariations(e.variations),allVariantsByName:e=>(function(e){let t={};return e?.forEach(e=>{t[e.field.originalName??e.field.name]=e.values.map(e=>e.originalName??e.name)}),t})(e.isVariantOf.skuSpecifications),slugsMap:(e,t)=>(function(e,t,a){let r={};return e.forEach(e=>{let i=e.variations;if(0===i.length)return;let n=`${t}-${i.find(e=>e.name===t)?.values[0]??""}`,o=i.reduce((e,a)=>{let r=a.name===t;return r?e:e+`-${a.name}-${a.values[0]}`},n);r[o]=`${a}-${e.itemId}`}),r})(e.isVariantOf.items,t.dominantVariantName??e.variations[0]?.name,e.isVariantOf.linkText),availableVariations:(e,t)=>{let a=t.dominantVariantName??e.variations[0]?.name,r=getActiveSkuVariations(e.variations),i=r[a],n=function(e,t,a){let r={},i=new Set;return e.forEach(e=>{if(0===e.variations.length)return;let n=e.variations.find(e=>e.name===t),o=n?.values[0]===a;if(!o){let a=`${t}-${n?.values[0]}`;if(!n||i.has(a))return;i.add(a);let o=findSkuVariantImage(e.images,t),s={src:o.imageUrl,alt:o.imageLabel??"",label:`${t}: ${n.values[0]}`,value:n.values[0]};r[n.name]?r[n.name].push(s):r[n.name]=[s];return}e.variations.forEach(t=>{let a=`${t.name}-${t.values[0]}`;if(i.has(a))return;i.add(a);let n=findSkuVariantImage(e.images,t.name),o={src:n.imageUrl,alt:n.imageText??"",label:`${t.name}: ${t.values[0]}`,value:t.values[0]};r[t.name]?r[t.name].push(o):r[t.name]=[o]})}),function(e){for(let t in e){let a=e[t].every(e=>!Number.isNaN(Number(e.value)));a&&e[t].sort((e,t)=>{var a,r;return a=e.value,r=t.value,Number.isNaN(Number(a)-Number(r))?a<r?-1:a>r?1:0:Number(a)-Number(r)})}return e}(r)}(e.isVariantOf.items,a,i);return n},allVariantProducts:e=>e.isVariantOf.items.map(t=>(0,r.j)(t,e.isVariantOf))}},13140:(e,t,a)=>{a.d(t,{r:()=>n});var r=a(98521);let i={"pickup-in-point":"Pickup",delivery:"Delivery",pickup:"Pickup","take-away":"Take away","":""},n={deliveryOptionsData:e=>{let{shippingData:t,items:a}=e,n=t?.logisticsInfo||[],o=t?.selectedAddresses||t?.availableAddresses||[t?.address],s=n.reduce((e,t)=>{let n=t?.selectedSla||"",s=t?.selectedDeliveryChannel||t?.deliveryChannel||"",l=t?.deliveryCompany||"",c=t?.deliveryWindow,d=t?.pickupStoreInfo,u=t?.shippingEstimate||"",p=t?.shippingEstimate?(0,r._)(t?.shippingEstimate):"",m=t?.shippingEstimateDate||"",g=t?.addressId||"",f=t?.itemIndex??0,h=a?.[f],y=h?.seller||"",v=`${n}|${s}|${l}|${y}|${u}|${m}|${g}|${c?.startDateUtc}|${c?.endDateUtc}`,S=o?.find(e=>e?.addressId===g),I=`${i[s]||""} ${p} ${S?.neighborhood?`to ${S?.neighborhood}`:""}`.trim(),b=(h?.sellingPrice??0)*(h?.quantity??0)+(h?.tax??0);return e[v]||(e[v]={selectedSla:n,deliveryChannel:s,deliveryCompany:l,deliveryWindow:c,shippingEstimate:u,shippingEstimateDate:m,seller:y,friendlyShippingEstimate:p,friendlyDeliveryOptionName:I,address:S,pickupStoreInfo:d,quantityOfDifferentItems:0,total:0,items:[]}),e[v]&&(e[v].items?.push({id:h?.id||"",uniqueId:h?.uniqueId||"",name:h?.name||"",quantity:h?.quantity||0,price:h?.price||0,imageUrl:h?.imageUrl||"",tax:h?.tax||0,total:b}),e[v].quantityOfDifferentItems=(e[v].quantityOfDifferentItems??0)+1,e[v].total=(e[v].total??0)+b),e},{}),l=Object.values(s),c=t?.contactInformation?.[0],d={name:`${c?.firstName??""} ${c?.lastName??""}`.trim()||l?.[0]?.address?.receiverName||"",email:c?.email||"",phone:c?.phone||""};return{deliveryOptions:l,contact:d}},customFields:e=>{let t=e?.customData?.customFields||[];return Object.values(t.reduce((e,t)=>{let a=t?.linkedEntity?.type||"",r=t?.linkedEntity?.id||"",i=`${a}|${r||""}`;return e[i]||(e[i]={type:a,id:r,fields:[]}),e[i].fields.push(...t?.fields||[]),e},{}))||[]}}},83503:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{L:()=>getWithAppKeyAndToken});var i=a(77397),n=e([i]);i=(n.then?(await n)():n)[0];let getWithAppKeyAndToken=()=>function(e={}){let t=process.env.FS_DISCOVERY_APP_KEY??"",a=process.env.FS_DISCOVERY_APP_TOKEN??"";if(!t||!a)throw new i.lY("No authentication AppKey and AppToken passed.");return{...e,"X-VTEX-API-AppKey":t,"X-VTEX-API-AppToken":a}};r()}catch(e){r(e)}})},20914:(e,t,a)=>{a.d(t,{Z:()=>ChannelMarshal});let ChannelMarshal=class ChannelMarshal{static parse(e){try{let t=JSON.parse(e);return{seller:t.seller??"",regionId:t.regionId??"",salesChannel:t.salesChannel??"",hasOnlyDefaultSalesChannel:t.hasOnlyDefaultSalesChannel??!0}}catch(e){throw console.error(e),Error("Malformed channel string")}}static stringify(e){return JSON.stringify(e)}}},54107:(e,t,a)=>{function extractRuleForAuthorization(e){if(!e||"pending"!==e.status)return null;for(let t of e.dimensionStatus){if("pending"!==t.status)continue;let a=t.ruleCollection.find(e=>"pending"===e.status&&e.isUserNextAuthorizer);if(a)return{rule:a,orderAuthorizationId:e.id,dimensionId:t.id}}return null}function isPendingForOtherAuthorizer(e){if(!e||"pending"!==e.status)return!1;let t=e.dimensionStatus.filter(e=>"pending"===e.status).flatMap(e=>e.ruleCollection).filter(e=>"pending"===e.status);return 0!==t.length&&t.every(e=>!e.isUserNextAuthorizer)}a.d(t,{S:()=>isPendingForOtherAuthorizer,U:()=>extractRuleForAuthorization})},66037:(e,t,a)=>{a.d(t,{V:()=>mutateLocaleContext,u:()=>mutateChannelContext});var r=a(20914);let mutateChannelContext=(e,t)=>{e.storage.channel=r.Z.parse(t)},mutateLocaleContext=(e,t)=>{e.storage.locale=t}},18673:(e,t,a)=>{a.d(t,{H6:()=>getWithCookie,aj:()=>parseJwt,oc:()=>getStoreCookie,q4:()=>getWithAutCookie,w5:()=>getAuthCookie});var r=a(84802);let i=/^([^=]+)=([^;]*)/,updatesContextStorageCookies=(e,t)=>{let a=t.match(i);if(a){let r=a[1],i=a[2];e.storage.cookies.set(r,{value:i,setCookie:t})}},setCookie=(e,t)=>{t.getSetCookie().forEach(t=>updatesContextStorageCookies(e,t))},getStoreCookie=e=>t=>setCookie(e,t),getUpdatedCookie=e=>{if(!e.headers?.cookie)return null;let t=Array.from(e.storage.cookies.entries());return 0===t.length?e.headers.cookie:t.reduce((e,[t,{value:a}])=>updatesCookieValueByKey(e,t,a),e.headers.cookie)},getWithCookie=e=>function(t){let a=getUpdatedCookie(e);return a?{...t,cookie:a}:t},getAuthCookie=(e,t)=>{let a=(0,r.parse)(e),i=a[`VtexIdclientAutCookie_${t}`];return i||""},getWithAutCookie=e=>{let t=getWithCookie(e);return function(a,r){let i=t({"content-type":"application/json","X-FORWARDED-HOST":a}),n=getAuthCookie(e?.headers?.cookie??"",r);return i.VtexIdclientAutCookie=n,i}},updatesCookieValueByKey=(e,t,a)=>{let r=RegExp(`(${t})=([^;]*)`),i=e.match(r);return i?e.replace(i[0],`${i[1]}=${a}`):`${e};${t}=${a}`};function parseJwt(e){return e?JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()):null}},96693:(e,t,a)=>{a.d(t,{j:()=>enhanceSku});var r=a(85442),i=a.n(r);let sanitizeHtml=(e,t)=>i()(e,t),enhanceSku=(e,t)=>({...e,isVariantOf:function(e){return{...e,description:e.description?sanitizeHtml(e.description):e.description}}(t)})},97911:(e,t,a)=>{a.d(t,{Gh:()=>findSkuId,PB:()=>findLocale,S9:()=>transformSelectedFacet,Vz:()=>parseRange,iD:()=>findCrossSelling,lX:()=>findSlug,mN:()=>findChannel,vE:()=>i});var r=a(90782);let i={buy:"whoboughtalsobought",view:"whosawalsosaw",similars:"similars",viewAndBought:"whosawalsobought",accessories:"accessories",suggestions:"suggestions"},transformSelectedFacet=({key:e,value:t})=>{switch(e){case"price":return{key:e,value:t.replace("-to-",":")};case"channel":case"locale":case"buy":case"view":case"similars":case"viewAndBought":case"accessories":case"suggestions":return[];default:return{key:e,value:t}}},parseRange=e=>{let t=e.split(":").map(Number);return 2!==t.length||Number.isNaN(t[0])||Number.isNaN(t[1])?null:t},isCrossSelling=e=>"string"==typeof i[e],findCrossSelling=e=>{let t=e?.filter(e=>isCrossSelling(e.key));if(Array.isArray(t)&&t.length>1)throw new r.oY(`You passed ${t.length} cross selling facets but only one is allowed. Please leave one of the following facet: ${t.map(e=>e.key).join(",")}`);return t?.[0]??null},findSlug=e=>e?.find(e=>"slug"===e.key)?.value??null,findSkuId=e=>e?.find(e=>"id"===e.key)?.value??null,findLocale=e=>e?.find(e=>"locale"===e.key)?.value??null,findChannel=e=>e?.find(e=>"channel"===e.key)?.value??null},43606:(e,t,a)=>{a.d(t,{F:()=>md5});var r=a(6113),i=a.n(r);let md5=e=>i().createHash("md5").update(e).digest("hex")},7201:(e,t,a)=>{a.d(t,{V:()=>min});let min=(e,t)=>{let a=0;for(let r=1;r<e.length;r++)t(e[a],e[r])>0&&(a=r);return e[a]}},92222:(e,t,a)=>{a.d(t,{Q0:()=>inStockOrderFormItem,Q1:()=>availability,T0:()=>bestOfferFirst,Tn:()=>sellingPrice,nt:()=>price,pz:()=>inStock});let inStock=e=>e.AvailableQuantity>0,price=e=>e.spotPrice??0,sellingPrice=e=>e.Price??0,availability=e=>e?"https://schema.org/InStock":"https://schema.org/OutOfStock",bestOfferFirst=(e,t)=>inStock(e)&&!inStock(t)?-1:!inStock(e)&&inStock(t)?1:price(e)-price(t),inStockOrderFormItem=e=>"available"===e},25372:(e,t,a)=>{a.d(t,{Cr:()=>i,Ih:()=>getPropertyId,Vb:()=>attachmentToPropertyValue,pl:()=>attributeToPropertyValue});var r=a(43606);let i={attachment:"ATTACHMENT",specification:"SPECIFICATION",attribute:"ATTRIBUTE"};function attachmentToPropertyValue(e){return{name:e.name,value:e.content,valueReference:i.attachment}}function attributeToPropertyValue(e){return{propertyID:e.id,name:e.name,value:e.value,valueReference:{valueReference:i.attribute,visible:e.visible}}}function getPropertyId(e){return(0,r.F)(`${e.name}:${JSON.stringify(e.value)}:${e.valueReference}`)}},1191:(e,t,a)=>{a.d(t,{E:()=>pickBestSku,t:()=>isValidSkuId});var r=a(7201),i=a(92222);let pickBestSku=e=>{let t=e.flatMap(e=>e.sellers.map(t=>({offer:t.commertialOffer,sku:e}))),a=(0,r.V)(t,({offer:e},{offer:t})=>(0,i.T0)(e,t));return a?a.sku:e[0]},isValidSkuId=e=>""!==e&&!Number.isNaN(Number(e))},60899:(e,t,a)=>{a.d(t,{l:()=>slugify});let r="\xc1\xc4\xc2\xc0\xc3\xc5Č\xc7ĆĎ\xc9Ě\xcb\xc8\xcaẼĔȆ\xcd\xcc\xce\xcfŇ\xd1\xd3\xd6\xd2\xd4\xd5\xd8ŘŔŠŤ\xdaŮ\xdc\xd9\xdb\xddŸŽ\xe1\xe4\xe2\xe0\xe3\xe5č\xe7ćď\xe9ě\xeb\xe8\xeaẽĕȇ\xed\xec\xee\xefň\xf1\xf3\xf6\xf2\xf4\xf5\xf8\xf0řŕšť\xfaů\xfc\xf9\xfb\xfd\xffž\xfe\xdeĐđ\xdf\xc6a",removeDiacritics=e=>{let t=e.slice(0);for(let e=0;e<r.length;e++)t=t.replace(RegExp(r.charAt(e),"g"),"AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa".charAt(e));return t},slugifySpecialCharacters=e=>e.replace(/[·/_,:]/,"-");function slugify(e){let t=e.replace(/,/g,""),a=t.replace(/[*+~.()'"!:@&\[\]`/ %$#?{}><=_^]/g,"-"),r=slugifySpecialCharacters(removeDiacritics(a));return r.toLowerCase()}},92170:(e,t,a)=>{a.d(t,{J:()=>withTax});let withTax=(e,t=0,a=1)=>Math.round((e+t/a)*100)/100},33999:(e,t,a)=>{a.a(e,async(e,t)=>{try{var r=a(57343),i=a(45774),n=e([i]);i=(n.then?(await n)():n)[0],(0,i.loadFilesSync)(__dirname,{extensions:[".graphql"]}).map(r.print).join("\n"),t()}catch(e){t(e)}})},57565:e=>{e.exports=JSON.parse('{"9baae331b75848a310fecb457e8c971ae27897ff":"query ServerAccountPageQuery { accountProfile { name } }","4b33c5c07f440dc7489e55619dc2211a13786e72":"fragment ServerCollectionPage on Query { collection(slug: $slug) { id } } query ServerCollectionPageQuery($slug: String!) { collection(slug: $slug) { breadcrumbList { itemListElement { item name position } } meta { selectedFacets { key value } } seo { description title } } ...ServerCollectionPage }","e855903879c6504e90269e6e010549bc6de933eb":"fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } fragment ServerProduct on Query { product(locator: $locator) { id: productID } } query ServerProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { brand { name } breadcrumbList { itemListElement { item name position } } description gtin image { alternateName url } isVariantOf { productGroupID } name offers { highPrice lowPrice lowPriceWithTaxes offers { availability itemCondition price priceCurrency priceValidUntil seller { identifier } } priceCurrency } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }","7937ec2d330f0f6f68f3aab589f10bc96c6ddeea":"query ServerOrderDetailsQuery($orderId: String!) { accountProfile { name } userOrder(orderId: $orderId) { allowCancellation canProcessOrderAuthorization clientProfileData { corporateName email firstName isCorporate lastName phone } creationDate customFields { fields { name refId value } id type } deliveryOptionsData { contact { email name phone } deliveryOptions { address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } deliveryChannel deliveryCompany deliveryWindow { endDateUtc price startDateUtc } friendlyDeliveryOptionName friendlyShippingEstimate items { id imageUrl name price quantity tax total uniqueId } pickupStoreInfo { additionalInfo address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } dockId friendlyName isPickupStore } quantityOfDifferentItems selectedSla seller shippingEstimate shippingEstimateDate total } } orderId paymentData { transactions { isActive payments { bankIssuedInvoiceIdentificationNumber connectorResponses { authId } group id installments lastDigits paymentOrigin paymentSystemName redemptionCode referenceValue tid url value } } } ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } shopper { email firstName lastName phone } status statusDescription storePreferencesData { currencyCode } totals { id name value } } }","b0a6b9da966cf2365f9806fd810bac248b44dba8":"query ServerListOrdersQuery($clientEmail: String, $dateFinal: String, $dateInitial: String, $page: Int, $perPage: Int, $status: [String], $text: String) { accountProfile { name } listUserOrders( page: $page perPage: $perPage status: $status dateInitial: $dateInitial dateFinal: $dateFinal text: $text clientEmail: $clientEmail ) { list { ShippingEstimatedDate clientName creationDate currencyCode customFields { type value } items { description ean id price productId quantity refId seller sellingPrice } orderId status statusDescription totalValue } paging { currentPage pages perPage total } } }","672fe0f00b7b710b63fc6573c0a6b2ec54812b8f":"query ServerProfileQuery { accountProfile { email id name } }","0890ba3456c40a426893b80b698df7a84cfdd6a1":"query ServerSecurity { accountProfile { name } userDetails { email } }","e5eb7e46c685d0c7a2ec62c865bfb0a66f81d557":"query ServerUserDetailsQuery { accountProfile { name } userDetails { email name orgUnit role } }","e2b06da6840614d3c72768e56579b9d3b8e80802":"mutation CancelOrderMutation($data: IUserOrderCancel!) { cancelOrder(data: $data) { data } }","8c25d37c8d6e7c20ab21bb8a4f4e6a2fe320ea8d":"mutation ProcessOrderAuthorizationMutation($data: IProcessOrderAuthorization!) { processOrderAuthorization(data: $data) { isPendingForOtherAuthorizer ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } } }","32f99c73c3de958b64d6bece1afe800469f54548":"query ValidateUser { validateUser { isValid } }","c2b3f8bff73ebf6ac79d758c66cabbc21ba9fcc0":"fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) { validateCart(cart: $cart, session: $session) { messages { ...CartMessage } order { acceptedOffer { ...CartItem } orderNumber shouldSplitItem } } }","3fa04e88c811fcb5ece7206fd5aa745bdbc143a8":"query ClientPickupPointsQuery($geoCoordinates: IStoreGeoCoordinates) { pickupPoints(geoCoordinates: $geoCoordinates) { pickupPointDistances { address { city number postalCode state street } distance isActive pickupId pickupName } } }","feb7005103a859e2bc8cf2360d568806fd88deba":"mutation SubscribeToNewsletter($data: IPersonNewsletter!) { subscribeToNewsletter(data: $data) { id } }","dc912e7272e3d9f5ced206837df87f544d39d0a5":"query ClientProductCountQuery($term: String) { productCount(term: $term) { total } }","4039e05f01a2fe449e20e8b82170d0ba94b1fbe9":"fragment ProductSKUMatrixSidebarFragment_product on StoreProduct { isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { additionalProperty { name propertyID value valueReference } image { alternateName url } name offers { highPrice lowPrice lowPriceWithTaxes offerCount offers { availability itemCondition listPrice listPriceWithTaxes price priceCurrency priceValidUntil priceWithTaxes quantity sellingPrice } priceCurrency } sku } availableVariations slugsMap } } id: productID } query ClientAllVariantProductsQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductSKUMatrixSidebarFragment_product } }","e49027bc29aa10cbf7bbb0ed62239af8de1653f0":"fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $sponsoredCount: Int, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }","bfc40da32b60f9404a4adb96b0856e3fbb04b076":"fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { redirect(term: $term, selectedFacets: $selectedFacets) { url } search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }","47aa22eb750cb2c529e5eeafb921bfeadb67db71":"fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ClientProduct on Query { product(locator: $locator) { id: productID } } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }","b668777678c137b8c7004297df4d8b8f2b29ee06":"fragment ProductComparisonFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { name } description gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku skuSpecifications { field { id name originalName } values { fieldId id name originalName } } slug specificationGroups { name originalName specifications { name originalName values } } unitMultiplier } query ClientManyProductsSelectedQuery($productIds: [String!]!) { products(productIds: $productIds) { ...ProductComparisonFragment_product } }","34ea14c0d4a57ddf9bc11e4be0cd2b5a6506d3d4":"query ClientProfileQuery($id: String!) { profile(id: $id) { addresses { city country geoCoordinate postalCode } } }","bbaa2ed75c4fb04842189e8d53a1d65481154e2b":"fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }","e2385b0f11726d0068f96548f57a8dd441c064e3":"fragment ClientTopSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } query ClientTopSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } ...ClientTopSearchSuggestions }","38bfe969b4b7eb9982af932bdab0827d9d39f218":"mutation ValidateSession($search: String!, $session: IStoreSession!) { validateSession(session: $session, search: $search) { addressType b2b { contractName customerId firstName isRepresentative lastName savedPostalCode unitId unitName userEmail userName } channel city country currency { code symbol } deliveryMode { deliveryChannel deliveryMethod deliveryWindow { endDate startDate } } geoCoordinates { latitude longitude } locale marketingData { utmCampaign utmMedium utmSource utmiCampaign utmiPage utmiPart } person { email familyName givenName id } postalCode refreshAfter } }","c35bad22f67f3eb34fea52bb49efa6b1da6b728d":"fragment ClientShippingSimulation on Query { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city } } } query ClientShippingSimulationQuery($country: String!, $items: [IShippingItem!]!, $postalCode: String!) { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city neighborhood state } logisticsInfo { slas { availableDeliveryWindows { endDateUtc listPrice price startDateUtc } carrier deliveryChannel localizedEstimates price shippingEstimate } } } ...ClientShippingSimulation }","4b769cda49004c85d0d427c601eba36c37a52224":"fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ServerManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $sponsoredCount: Int, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { metadata { ...SearchEvent_metadata } products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }"}')}};
|
|
3
|
+
`)}if(l.seller&&(c||g)){let e=await r.commerce.checkout.region({postalCode:c,geoCoordinates:g,country:d,salesChannel:y}),t=e?.[0];s=t?.sellers.find(e=>l.seller===e.id)}let T={...t,currency:{code:k?.currencyCode?.value??t.currency.code,symbol:k?.currencySymbol?.value??t.currency.symbol},country:k?.countryCode?.value??d,channel:u.Z.stringify({salesChannel:k?.channel?.value??l.salesChannel,regionId:F?.regionId?.value??l.regionId,seller:s?.id,hasOnlyDefaultSalesChannel:!k?.channel?.value}),b2b:b?{isRepresentative:b??!1,customerId:D?.customerId?.value??C??"",unitName:D?.unitName?.value??"",unitId:D?.unitId?.value??$??"",firstName:O?.firstName?.value??"",lastName:O?.lastName?.value??"",userName:`${O?.firstName?.value??""} ${O?.lastName?.value??""}`.trim(),userEmail:D?.storeUserEmail.value??"",savedPostalCode:x?.postalCode?.value??"",contractName:N?.corporateName??"",organizationManager:O?.organizationManager?.value??!1}:null,marketingData:S,person:w?.id?{id:w.id?.value??"",email:w.email?.value??"",givenName:w.firstName?.value??"",familyName:w.lastName?.value??""}:null,geoCoordinates:g?.latitude&&g?.longitude&&g||null,city:m};return o()(t,T)?null:T},m={validateCart:validateCart,validateSession:validateSession,subscribeToNewsletter:subscribeToNewsletter,cancelOrder:cancelOrder,processOrderAuthorization:processOrderAuthorization}},97097:(e,t,a)=>{a.d(t,{P:()=>n});var r=a(57343),i=a(36548);let n=new r.GraphQLScalarType({name:"ObjectOrString",description:"A string or the string representation of an object (a stringified object).",parseValue:function(e){return"string"==typeof e?getValueAsObjectOrString(e):null},serialize:function(e){return"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:null},parseLiteral:e=>e.kind===i.Kind.STRING?getValueAsObjectOrString(e.value):null});function getValueAsObjectOrString(e){try{return JSON.parse(e)}catch(t){return e}}},14685:(e,t,a)=>{a.d(t,{u:()=>n});var r=a(92222),i=a(92170);let isSearchItem=e=>"Price"in e&&"seller"in e&&"product"in e,isOrderFormItem=e=>"skuName"in e,n={priceCurrency:async(e,t,a)=>{let{loaders:{salesChannelLoader:r},storage:{channel:i}}=a,n=await r.load(i.salesChannel);return n.CurrencyCode??""},priceValidUntil:e=>isSearchItem(e)?e.PriceValidUntil??"":isOrderFormItem(e)?e.priceValidUntil??"":null,itemCondition:()=>"https://schema.org/NewCondition",availability:async e=>isSearchItem(e)?(0,r.Q1)((0,r.pz)(e)):isOrderFormItem(e)?(0,r.Q1)((0,r.Q0)(e.availability)):null,seller:(e,t,a)=>isSearchItem(e)?{identifier:a.storage.channel?.seller||e.seller.sellerId||""}:isOrderFormItem(e)?{identifier:e.seller}:null,price:e=>isSearchItem(e)?(0,r.nt)(e):isOrderFormItem(e)?e.sellingPrice/100:null,priceWithTaxes:e=>isSearchItem(e)?(0,i.J)((0,r.nt)(e),e?.Tax,e.product.unitMultiplier):isOrderFormItem(e)?(0,i.J)(e.sellingPrice/100,e.tax/100,e.unitMultiplier):null,sellingPrice:e=>isSearchItem(e)?(0,r.Tn)(e):isOrderFormItem(e)?e.sellingPrice/100:null,listPrice:e=>isSearchItem(e)?e.ListPrice??0:isOrderFormItem(e)?e.listPrice/100:null,listPriceWithTaxes:e=>isSearchItem(e)?(0,i.J)(e.ListPrice??0,e?.Tax,e.product.unitMultiplier):isOrderFormItem(e)?(0,i.J)(e.listPrice/100,e.tax/100,e.unitMultiplier):null,itemOffered:e=>isSearchItem(e)?e.product:isOrderFormItem(e)?{...e.product,attachmentsValues:e.attachments}:null,quantity:e=>isSearchItem(e)?e.AvailableQuantity??0:isOrderFormItem(e)?e.quantity:null}},72541:(e,t,a)=>{a.d(t,{M:()=>s});let canonicalFromProduct=({linkText:e})=>`/${e}/p`,enhanceCommercialOffer=({offer:e,seller:t,product:a})=>({...e,product:a,seller:t});var r=a(92222),i=a(25372),n=a(60899);let o={imageText:"image",imageUrl:"https://storecomponents.vtexassets.com/assets/faststore/images/image___117a6d3e229a96ad0e0d0876352566e2.svg",imageLabel:"label"},getSlug=(e,t)=>`${e}-${t}`,getPath=(e,t)=>`/${getSlug(e,t)}/p`,nonEmptyArray=e=>Array.isArray(e)&&e.length>0?e:null;function removeTrailingSlashes(e){return e.replace(/^\/+|\/+$/g,"")}let findMainTreeIndex=(e,t)=>{let a=e.findIndex(e=>{let a=removeTrailingSlashes(e).split("/").at(-1);return a===t});return a<0?0:a},s={productID:({itemId:e})=>e,name:({isVariantOf:e,name:t})=>t??e.productName,slug:({isVariantOf:{linkText:e},itemId:t})=>getSlug(e,t),description:({isVariantOf:{description:e}})=>e,seo:({isVariantOf:e})=>({title:e.productTitle||e.productName,description:e.metaTagDescription||e.description,canonical:canonicalFromProduct(e)}),brand:({isVariantOf:{brand:e}})=>({name:e}),unitMultiplier:({unitMultiplier:e})=>e,breadcrumbList:({isVariantOf:{categories:e,productName:t,linkText:a,categoryId:r,categoriesIds:i},itemId:o})=>{let s=findMainTreeIndex(i,r),l=e[s],c=removeTrailingSlashes(l).split("/");return{itemListElement:[...c.map((e,t)=>{let a=`/${c.slice(0,t+1).map(n.l).join("/")}/`;return{name:e,item:a,position:t+1}}),{name:t,item:getPath(a,o),position:c.length+1}],numberOfItems:c.length}},image:({images:e},t)=>{let a=(nonEmptyArray(e)??[o]).map(({imageUrl:e,imageText:t,imageLabel:a})=>({alternateName:t??"",url:e.replace("vteximg.com.br","vtexassets.com"),keywords:a}));if("object"!=typeof t)return a;let{context:r,limit:i}=t,n="generic"!==r;i=(i=i||-1)<=-1?void 0:i;let s=n?a.filter(({keywords:e})=>e===r):a;return(s=0===s.length?a:s).slice(0,i)},sku:({itemId:e})=>e,gtin:({ean:e,referenceId:t})=>e||(t[0]?.Value??""),review:()=>[],aggregateRating:()=>({}),offers:e=>e.sellers.map(t=>enhanceCommercialOffer({offer:t.commertialOffer,seller:t,product:e})).sort(r.T0),isVariantOf:e=>e,additionalProperty:({variations:e=[],attachmentsValues:t=[],attributes:a=[]})=>{let r=e.flatMap(({name:e,values:t})=>t.map(t=>({name:e,value:t,valueReference:i.Cr.specification}))),n=t.map(i.Vb),o=a.map(i.pl);return[...r,...n,...o]},hasSpecifications:({isVariantOf:e})=>!!e.skuSpecifications?.length,skuSpecifications:({isVariantOf:{skuSpecifications:e}})=>e??[],specificationGroups:({isVariantOf:{specificationGroups:e}})=>e,releaseDate:({isVariantOf:{releaseDate:e}})=>e??"",advertisement:({isVariantOf:{advertisement:e}})=>e,deliveryPromiseBadges:({isVariantOf:{deliveryPromisesBadges:e}})=>e}},41830:(e,t,a)=>{a.d(t,{Z:()=>o});var r=a(96693),i=a(25372);let n=new Set(["allSpecifications"]),o={hasVariant:e=>e.isVariantOf.items.map(t=>(0,r.j)(t,e.isVariantOf)),productGroupID:({isVariantOf:e})=>e.productId,name:e=>e.isVariantOf.productName,skuVariants:e=>e,additionalProperty:({isVariantOf:{specificationGroups:e}})=>e.filter(e=>!n.has(e.name)).flatMap(({specifications:e})=>e.flatMap(({name:e,values:t})=>t.map(t=>({name:e,value:t,valueReference:i.Cr.specification}))))}},92584:(e,t,a)=>{a.d(t,{X:()=>i});var r=a(25372);let i={propertyID:e=>e.propertyID||(0,r.Ih)(e),name:({name:e})=>e,value:({value:e})=>e,valueReference:({valueReference:e})=>e}},1402:(e,t,a)=>{a.d(t,{A:()=>p});var r=a(90782),i=a(54107),n=a(66037),o=a(18673),s=a(96693),l=a(97911),c=a(1191);let d={price_desc:"price:desc",price_asc:"price:asc",orders_desc:"orders:desc",name_desc:"name:desc",name_asc:"name:asc",release_desc:"release:desc",discount_desc:"discount:desc",score_desc:""};var u=a(18668);let p={product:async(e,{locator:t},a)=>{let i=(0,l.mN)(t),o=(0,l.PB)(t),d=(0,l.Gh)(t),u=(0,l.lX)(t);i&&(0,n.u)(a,i),o&&(0,n.V)(a,o);let{loaders:{skuLoader:p},clients:{commerce:m,search:g}}=a;try{let e=d??u?.split("-").pop()??"";if(!(0,c.t)(e))throw Error("Invalid SkuId");let t=await p.load(e);if(u&&t.isVariantOf.linkText&&!u.startsWith(t.isVariantOf.linkText))throw Error(`Slug was set but the fetched sku does not satisfy the slug condition. slug: ${u}, linkText: ${t.isVariantOf.linkText}`);return t}catch(i){if(null==u)throw new r.oY("Missing slug or id");let e=await m.catalog.portal.pagetype(`${u}/p`);if("Product"!==e.pageType||!e.id)throw new r.dR(`No product found for slug ${u}`);let{products:[t]}=await g.products({page:0,count:1,query:`product:${e.id}`,hideUnavailableItems:!1});if(!t)throw new r.dR(`No product found for id ${e.id}`);let a=(0,c.E)(t.items);return(0,s.j)(a,t)}},collection:(e,{slug:t},a)=>{let{loaders:{collectionLoader:r}}=a;return r.load(t)},search:async(e,{first:t,after:a,sort:r,term:i,selectedFacets:o,sponsoredCount:s},c)=>{let u=(0,l.mN)(o),p=(0,l.PB)(o),m=(0,l.iD)(o);u&&(0,n.u)(c,u),p&&(0,n.V)(c,p);let g=i;if(m){let e=await c.clients.commerce.catalog.products.crossselling({type:l.vE[m.key],productId:m.value});g=`product:${e.map(e=>e.productId).slice(0,t).join(";")}`}let f=a?Number(a):0,h={page:Math.ceil(f/t)||0,count:t,query:g??void 0,sort:d[r??"score_desc"],selectedFacets:o?.flatMap(l.S9)??[],sponsoredCount:s??void 0},y=c.clients.search.products(h);return{searchArgs:h,productSearchPromise:y}},allProducts:async(e,{first:t,after:a},r)=>{let{clients:{search:i}}=r,n=a?Number(a):0,o=await i.products({page:Math.ceil(n/t),count:t}),l=o.products.flatMap(e=>e.items.map(t=>(0,s.j)(t,e))).filter(e=>e.sellers.length>0);return{pageInfo:{hasNextPage:o.pagination.after.length>0,hasPreviousPage:o.pagination.before.length>0,startCursor:"0",endCursor:o.recordsFiltered.toString(),totalCount:o.recordsFiltered},edges:l.map((e,t)=>({node:e,cursor:(n+t).toString()}))}},products:async(e,{productIds:t},a)=>{let{clients:{search:r}}=a;if(!t.length)return[];let i=`id:${t.join(";")}`,n=await r.products({page:0,count:t.length,query:i});return n.products.flatMap(e=>e.items.map(t=>(0,s.j)(t,e))).filter(e=>t.includes(e.itemId)&&e.sellers.length>0)},allCollections:async(e,{first:t,after:a},r)=>{let{clients:{commerce:i}}=r,n=a?Number(a):0,[o,s]=await Promise.all([i.catalog.brand.list(),i.catalog.category.tree()]),l=[],dfs=(e,t)=>{for(let a of(l.push({...e,level:t}),e.children))dfs(a,t+1)};for(let e of s)dfs(e,0);let c=[...o.filter(e=>e.isActive).map(e=>({...e,type:"brand"})),...l],d=c.filter(e=>!!u.s.slug(e,null,r,null));return{pageInfo:{hasNextPage:d.length-n>t,hasPreviousPage:n>0,startCursor:"0",endCursor:(Math.min(t,d.length-n)-1).toString(),totalCount:d.length},edges:d.slice(n,n+t).map((e,t)=>({node:e,cursor:(n+t).toString()}))}},shipping:async(e,{country:t,items:a,postalCode:r},i)=>{let{loaders:{simulationLoader:n},clients:{commerce:o}}=i,[s,l]=await Promise.all([n.load({country:t,items:a,postalCode:r}),o.checkout.address({postalCode:r,country:t})]);return{...s,address:l}},redirect:async(e,{term:t,selectedFacets:a},r)=>{if(!t&&(!a||!a.length))return null;let{redirect:i}=await r.clients.search.products({page:1,count:1,query:t??void 0,selectedFacets:a?.flatMap(l.S9)??[],allowRedirect:!0});return{url:i}},sellers:async(e,{postalCode:t,geoCoordinates:a,country:r,salesChannel:i},n)=>{let{clients:{commerce:o}}=n,s=await o.checkout.region({postalCode:t,geoCoordinates:a,country:r,salesChannel:i}),l=s?.[0],{id:c,sellers:d}=l;return{id:c,sellers:d}},profile:async(e,{id:t},a)=>{let{clients:{commerce:r}}=a,i=await r.profile.addresses(t),n=function(e){return e&&0!==Object.keys(e).length?Object.values(e).map(e=>JSON.parse(e)):[]}(i);return{addresses:n}},productCount:async(e,{term:t},a)=>{let{clients:{search:r}}=a,i=await r.productCount({query:t??void 0});return i},userOrder:async(e,{orderId:t},a)=>{let{clients:{commerce:n}}=a;if(!t)throw new r.oY("Missing orderId");try{let e=await n.oms.userOrder({orderId:t});if(!e)throw new r.dR(`No order found for id ${t}`);let a=null;try{let e=await n.oms.getCommercialAuthorizationsByOrderId({orderId:t});a=(0,i.U)(e)}catch(e){}let o=await n.masterData.getShopperById({userId:e.purchaseAgentData?.purchaseAgents?.[0]?.userId??""})??[],s=o[0]??{};return{orderId:e.orderId,creationDate:e.creationDate,totals:e.totals,items:e.items,shippingData:e.shippingData,paymentData:e.paymentData,customData:e.customData,status:e.status,statusDescription:e.statusDescription,allowCancellation:e.allowCancellation,storePreferencesData:e.storePreferencesData,clientProfileData:e.clientProfileData,canProcessOrderAuthorization:("waiting-for-confirmation"===e.status||"waiting-for-authorization"===e.status)&&!!a,ruleForAuthorization:a,shopper:{firstName:s?.firstName||"",lastName:s?.lastName||"",email:s?.email||"",phone:s?.phone||""}}}catch(n){let e=n.message,a={};try{let t=JSON.parse(e);a=t.error||t}catch{a={message:e}}let i=a?.message||e;if((0,r.XD)(n))throw new r.dR(`No order found for id ${t}. ${i}.`);if((0,r.QW)(n))throw new r.lY(`You are forbidden to interact with order with id ${t}. ${i}.`);throw n}},listUserOrders:async(e,t,a)=>{let{clients:{commerce:r}}=a,i=await r.oms.listUserOrders(t);return{list:i.list?.map(e=>({orderId:e.orderId,creationDate:e.creationDate,clientName:e.clientName,items:e.items,totalValue:e.totalValue,status:e.status,statusDescription:e.statusDescription,ShippingEstimatedDate:e.ShippingEstimatedDate,customFields:e.customFields,currencyCode:e.currencyCode})),paging:i.paging}},validateUser:async(e,t,a)=>{let{clients:{commerce:i}}=a;try{let e=await i.vtexid.validate();return{isValid:"Success"===e.authStatus}}catch(e){throw new r.lY("You are not allowed to access this resource")}},userDetails:async(e,t,a)=>{let{clients:{commerce:r}}=a,i=await r.session("").catch(()=>null),n=i?.namespaces.shopper??null,o=i?.namespaces.authentication??null;return{name:n?.firstName?.value??"",email:o?.storeUserEmail.value??"",role:["Admin"],orgUnit:o?.unitName?.value??""}},accountProfile:async(e,t,a)=>{let{account:r,headers:i,clients:{commerce:n}}=a,s=(0,o.aj)((0,o.w5)(i?.cookie??"",r));if(!s?.userId)return null;if(s?.isRepresentative){let e=await n.session("").catch(()=>null);if(!e)return null;let t=e.namespaces.profile??null,a=await n.masterData.getContractById({contractId:t?.id?.value??""}),r=a?.corporateName??`${(t?.firstName?.value??"").trim()} ${(t?.lastName?.value??"").trim()}`.trim();return{name:r||"",email:t?.email?.value||"",id:t?.id?.value||""}}let l=await n.licenseManager.getUserById({userId:s?.userId}).catch(()=>null);return{name:l?.name||"",email:l?.email||"",id:l?.id||""}},pickupPoints:async(e,{geoCoordinates:t},a)=>{let{clients:{commerce:r}}=a,i=await r.checkout.pickupPoints({geoCoordinates:t});return i}}},26465:(e,t,a)=>{a.d(t,{e:()=>r});let r={reviewRating:()=>({ratingValue:5,bestRating:5}),author:()=>({name:""})}},38064:(e,t,a)=>{a.d(t,{R:()=>n});var r=a(96693),i=a(1191);let isRootFacet=(e,t,a)=>t?"category-1"===e.key:!!a&&"brand"===e.key,n={suggestions:async(e,t,a)=>{let{clients:{search:n}}=a,{searchArgs:o}=e;if(!o.query){let e=await n.topSearches();return{terms:e.searches.map(e=>({value:e.term,count:e.count})),products:[]}}let{productSearchPromise:s}=e,[l,c]=await Promise.all([n.suggestedTerms(o),s]),d=c.products.map(e=>{let t=(0,i.E)(e.items);return t&&(0,r.j)(t,e)}).filter(e=>!!e),{searches:u}=l;return{terms:u.map(e=>({value:e.term,count:e.count})),products:d}},products:async({productSearchPromise:e})=>{let t=await e,a=t.products.map(e=>{let t=(0,i.E)(e.items);return t&&(0,r.j)(t,e)}).filter(e=>!!e);return{pageInfo:{hasNextPage:t.pagination.after.length>0,hasPreviousPage:t.pagination.before.length>0,startCursor:"0",endCursor:t.recordsFiltered.toString(),totalCount:t.recordsFiltered},edges:a.map((e,t)=>({node:e,cursor:t.toString()}))}},facets:async({searchArgs:e},t,a)=>{let{clients:{search:r}}=a;a.storage.searchArgs=e;let{facets:i=[]}=await r.facets(e),n=!e.query,o=!!e.selectedFacets?.length&&"category-1"===e.selectedFacets[0].key,s=!!e.selectedFacets?.length&&"brand"===e.selectedFacets[0].key,l=i.filter(e=>!n||!isRootFacet(e,o,s));return l},metadata:async({productSearchPromise:e})=>{let t=await e;return{isTermMisspelled:t.correction?.misspelled??!1,logicalOperator:t.operator,fuzzy:t.fuzzy}}}},28881:(e,t,a)=>{a.d(t,{X:()=>r});let r={title:({title:e})=>e??"",description:({description:e})=>e??"",canonical:({canonical:e})=>e??"",titleTemplate:()=>""}},98521:(e,t,a)=>{a.d(t,{_:()=>getLocalizedEstimates,x:()=>n});let r=["bd","d","h","m"],isUnit=e=>r.includes(e),i={bd:{0:"Today",1:"In 1 business day",other:"Up to # business days"},d:{0:"Today",1:"In 1 day",other:"Up to # days"},h:{0:"Now",1:"In 1 hour",other:"Up to # hours"},m:{0:"Now",1:"In 1 minute",other:"Up to # minutes"}},getLocalizedEstimates=e=>{let[t,a]=[e.split(/\D+/)[0],e.split(/[0-9]+/)[1]],r=""!==t&&!Number.isNaN(Number(t)),n=isUnit(a);if(!r||!n)return"";let o=2>Number(t)?Number(t):"other";return i[a][o].replace("#",t)??""},n={carrier:e=>e?.friendlyName??e?.name??"",price:e=>e?.price?e.price/100:e?.price,localizedEstimates:e=>e?.shippingEstimate?getLocalizedEstimates(e.shippingEstimate):""}},2146:(e,t,a)=>{a.d(t,{w:()=>n});var r=a(96693);let i="skuvariation";function findSkuVariantImage(e,t){let a=`${i}${t}`.toLowerCase(),r=e.find(e=>e.imageLabel===a);if(r)return r;let n=e.find(e=>e.imageLabel===i);return n||e[0]}function getActiveSkuVariations(e){let t={};return e.forEach(e=>{t[e.name]=e.values[0]}),t}let n={activeVariations:e=>getActiveSkuVariations(e.variations),allVariantsByName:e=>(function(e){let t={};return e?.forEach(e=>{t[e.field.originalName??e.field.name]=e.values.map(e=>e.originalName??e.name)}),t})(e.isVariantOf.skuSpecifications),slugsMap:(e,t)=>(function(e,t,a){let r={};return e.forEach(e=>{let i=e.variations;if(0===i.length)return;let n=`${t}-${i.find(e=>e.name===t)?.values[0]??""}`,o=i.reduce((e,a)=>{let r=a.name===t;return r?e:e+`-${a.name}-${a.values[0]}`},n);r[o]=`${a}-${e.itemId}`}),r})(e.isVariantOf.items,t.dominantVariantName??e.variations[0]?.name,e.isVariantOf.linkText),availableVariations:(e,t)=>{let a=t.dominantVariantName??e.variations[0]?.name,r=getActiveSkuVariations(e.variations),i=r[a],n=function(e,t,a){let r={},i=new Set;return e.forEach(e=>{if(0===e.variations.length)return;let n=e.variations.find(e=>e.name===t),o=n?.values[0]===a;if(!o){let a=`${t}-${n?.values[0]}`;if(!n||i.has(a))return;i.add(a);let o=findSkuVariantImage(e.images,t),s={src:o.imageUrl,alt:o.imageLabel??"",label:`${t}: ${n.values[0]}`,value:n.values[0]};r[n.name]?r[n.name].push(s):r[n.name]=[s];return}e.variations.forEach(t=>{let a=`${t.name}-${t.values[0]}`;if(i.has(a))return;i.add(a);let n=findSkuVariantImage(e.images,t.name),o={src:n.imageUrl,alt:n.imageText??"",label:`${t.name}: ${t.values[0]}`,value:t.values[0]};r[t.name]?r[t.name].push(o):r[t.name]=[o]})}),function(e){for(let t in e){let a=e[t].every(e=>!Number.isNaN(Number(e.value)));a&&e[t].sort((e,t)=>{var a,r;return a=e.value,r=t.value,Number.isNaN(Number(a)-Number(r))?a<r?-1:a>r?1:0:Number(a)-Number(r)})}return e}(r)}(e.isVariantOf.items,a,i);return n},allVariantProducts:e=>e.isVariantOf.items.map(t=>(0,r.j)(t,e.isVariantOf))}},13140:(e,t,a)=>{a.d(t,{r:()=>n});var r=a(98521);let i={"pickup-in-point":"Pickup",delivery:"Delivery",pickup:"Pickup","take-away":"Take away","":""},n={deliveryOptionsData:e=>{let{shippingData:t,items:a}=e,n=t?.logisticsInfo||[],o=t?.selectedAddresses||t?.availableAddresses||[t?.address],s=n.reduce((e,t)=>{let n=t?.selectedSla||"",s=t?.selectedDeliveryChannel||t?.deliveryChannel||"",l=t?.deliveryCompany||"",c=t?.deliveryWindow,d=t?.pickupStoreInfo,u=t?.shippingEstimate||"",p=t?.shippingEstimate?(0,r._)(t?.shippingEstimate):"",m=t?.shippingEstimateDate||"",g=t?.addressId||"",f=t?.itemIndex??0,h=a?.[f],y=h?.seller||"",v=`${n}|${s}|${l}|${y}|${u}|${m}|${g}|${c?.startDateUtc}|${c?.endDateUtc}`,S=o?.find(e=>e?.addressId===g),I=`${i[s]||""} ${p} ${S?.neighborhood?`to ${S?.neighborhood}`:""}`.trim(),b=(h?.sellingPrice??0)*(h?.quantity??0)+(h?.tax??0);return e[v]||(e[v]={selectedSla:n,deliveryChannel:s,deliveryCompany:l,deliveryWindow:c,shippingEstimate:u,shippingEstimateDate:m,seller:y,friendlyShippingEstimate:p,friendlyDeliveryOptionName:I,address:S,pickupStoreInfo:d,quantityOfDifferentItems:0,total:0,items:[]}),e[v]&&(e[v].items?.push({id:h?.id||"",uniqueId:h?.uniqueId||"",name:h?.name||"",quantity:h?.quantity||0,price:h?.price||0,imageUrl:h?.imageUrl||"",tax:h?.tax||0,total:b}),e[v].quantityOfDifferentItems=(e[v].quantityOfDifferentItems??0)+1,e[v].total=(e[v].total??0)+b),e},{}),l=Object.values(s),c=t?.contactInformation?.[0],d={name:`${c?.firstName??""} ${c?.lastName??""}`.trim()||l?.[0]?.address?.receiverName||"",email:c?.email||"",phone:c?.phone||""};return{deliveryOptions:l,contact:d}},customFields:e=>{let t=e?.customData?.customFields||[];return Object.values(t.reduce((e,t)=>{let a=t?.linkedEntity?.type||"",r=t?.linkedEntity?.id||"",i=`${a}|${r||""}`;return e[i]||(e[i]={type:a,id:r,fields:[]}),e[i].fields.push(...t?.fields||[]),e},{}))||[]}}},83503:(e,t,a)=>{a.a(e,async(e,r)=>{try{a.d(t,{L:()=>getWithAppKeyAndToken});var i=a(77397),n=e([i]);i=(n.then?(await n)():n)[0];let getWithAppKeyAndToken=()=>function(e={}){let t=process.env.FS_DISCOVERY_APP_KEY??"",a=process.env.FS_DISCOVERY_APP_TOKEN??"";if(!t||!a)throw new i.lY("No authentication AppKey and AppToken passed.");return{...e,"X-VTEX-API-AppKey":t,"X-VTEX-API-AppToken":a}};r()}catch(e){r(e)}})},20914:(e,t,a)=>{a.d(t,{Z:()=>ChannelMarshal});let ChannelMarshal=class ChannelMarshal{static parse(e){try{let t=JSON.parse(e);return{seller:t.seller??"",regionId:t.regionId??"",salesChannel:t.salesChannel??"",hasOnlyDefaultSalesChannel:t.hasOnlyDefaultSalesChannel??!0}}catch(e){throw console.error(e),Error("Malformed channel string")}}static stringify(e){return JSON.stringify(e)}}},54107:(e,t,a)=>{function extractRuleForAuthorization(e){if(!e||"pending"!==e.status)return null;for(let t of e.dimensionStatus){if("pending"!==t.status)continue;let a=t.ruleCollection.find(e=>"pending"===e.status&&e.isUserNextAuthorizer);if(a)return{rule:a,orderAuthorizationId:e.id,dimensionId:t.id}}return null}function isPendingForOtherAuthorizer(e){if(!e||"pending"!==e.status)return!1;let t=e.dimensionStatus.filter(e=>"pending"===e.status).flatMap(e=>e.ruleCollection).filter(e=>"pending"===e.status);return 0!==t.length&&t.every(e=>!e.isUserNextAuthorizer)}a.d(t,{S:()=>isPendingForOtherAuthorizer,U:()=>extractRuleForAuthorization})},66037:(e,t,a)=>{a.d(t,{V:()=>mutateLocaleContext,u:()=>mutateChannelContext});var r=a(20914);let mutateChannelContext=(e,t)=>{e.storage.channel=r.Z.parse(t)},mutateLocaleContext=(e,t)=>{e.storage.locale=t}},18673:(e,t,a)=>{a.d(t,{H6:()=>getWithCookie,aj:()=>parseJwt,oc:()=>getStoreCookie,q4:()=>getWithAutCookie,w5:()=>getAuthCookie});var r=a(84802);let i=/^([^=]+)=([^;]*)/,updatesContextStorageCookies=(e,t)=>{let a=t.match(i);if(a){let r=a[1],i=a[2];e.storage.cookies.set(r,{value:i,setCookie:t})}},setCookie=(e,t)=>{t.getSetCookie().forEach(t=>updatesContextStorageCookies(e,t))},getStoreCookie=e=>t=>setCookie(e,t),getUpdatedCookie=e=>{if(!e.headers?.cookie)return null;let t=Array.from(e.storage.cookies.entries());return 0===t.length?e.headers.cookie:t.reduce((e,[t,{value:a}])=>updatesCookieValueByKey(e,t,a),e.headers.cookie)},getWithCookie=e=>function(t){let a=getUpdatedCookie(e);return a?{...t,cookie:a}:t},getAuthCookie=(e,t)=>{let a=(0,r.parse)(e),i=a[`VtexIdclientAutCookie_${t}`];return i||""},getWithAutCookie=e=>{let t=getWithCookie(e);return function(a,r){let i=t({"content-type":"application/json","X-FORWARDED-HOST":a}),n=getAuthCookie(e?.headers?.cookie??"",r);return i.VtexIdclientAutCookie=n,i}},updatesCookieValueByKey=(e,t,a)=>{let r=RegExp(`(${t})=([^;]*)`),i=e.match(r);return i?e.replace(i[0],`${i[1]}=${a}`):`${e};${t}=${a}`};function parseJwt(e){return e?JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()):null}},96693:(e,t,a)=>{a.d(t,{j:()=>enhanceSku});var r=a(85442),i=a.n(r);let sanitizeHtml=(e,t)=>i()(e,t),enhanceSku=(e,t)=>({...e,isVariantOf:function(e){return{...e,description:e.description?sanitizeHtml(e.description):e.description}}(t)})},97911:(e,t,a)=>{a.d(t,{Gh:()=>findSkuId,PB:()=>findLocale,S9:()=>transformSelectedFacet,Vz:()=>parseRange,iD:()=>findCrossSelling,lX:()=>findSlug,mN:()=>findChannel,vE:()=>i});var r=a(90782);let i={buy:"whoboughtalsobought",view:"whosawalsosaw",similars:"similars",viewAndBought:"whosawalsobought",accessories:"accessories",suggestions:"suggestions"},transformSelectedFacet=({key:e,value:t})=>{switch(e){case"price":return{key:e,value:t.replace("-to-",":")};case"channel":case"locale":case"buy":case"view":case"similars":case"viewAndBought":case"accessories":case"suggestions":return[];default:return{key:e,value:t}}},parseRange=e=>{let t=e.split(":").map(Number);return 2!==t.length||Number.isNaN(t[0])||Number.isNaN(t[1])?null:t},isCrossSelling=e=>"string"==typeof i[e],findCrossSelling=e=>{let t=e?.filter(e=>isCrossSelling(e.key));if(Array.isArray(t)&&t.length>1)throw new r.oY(`You passed ${t.length} cross selling facets but only one is allowed. Please leave one of the following facet: ${t.map(e=>e.key).join(",")}`);return t?.[0]??null},findSlug=e=>e?.find(e=>"slug"===e.key)?.value??null,findSkuId=e=>e?.find(e=>"id"===e.key)?.value??null,findLocale=e=>e?.find(e=>"locale"===e.key)?.value??null,findChannel=e=>e?.find(e=>"channel"===e.key)?.value??null},43606:(e,t,a)=>{a.d(t,{F:()=>md5});var r=a(6113),i=a.n(r);let md5=e=>i().createHash("md5").update(e).digest("hex")},7201:(e,t,a)=>{a.d(t,{V:()=>min});let min=(e,t)=>{let a=0;for(let r=1;r<e.length;r++)t(e[a],e[r])>0&&(a=r);return e[a]}},92222:(e,t,a)=>{a.d(t,{Q0:()=>inStockOrderFormItem,Q1:()=>availability,T0:()=>bestOfferFirst,Tn:()=>sellingPrice,nt:()=>price,pz:()=>inStock});let inStock=e=>e.AvailableQuantity>0,price=e=>e.spotPrice??0,sellingPrice=e=>e.Price??0,availability=e=>e?"https://schema.org/InStock":"https://schema.org/OutOfStock",bestOfferFirst=(e,t)=>inStock(e)&&!inStock(t)?-1:!inStock(e)&&inStock(t)?1:price(e)-price(t),inStockOrderFormItem=e=>"available"===e},25372:(e,t,a)=>{a.d(t,{Cr:()=>i,Ih:()=>getPropertyId,Vb:()=>attachmentToPropertyValue,pl:()=>attributeToPropertyValue});var r=a(43606);let i={attachment:"ATTACHMENT",specification:"SPECIFICATION",attribute:"ATTRIBUTE"};function attachmentToPropertyValue(e){return{name:e.name,value:e.content,valueReference:i.attachment}}function attributeToPropertyValue(e){return{propertyID:e.id,name:e.name,value:e.value,valueReference:{valueReference:i.attribute,visible:e.visible}}}function getPropertyId(e){return(0,r.F)(`${e.name}:${JSON.stringify(e.value)}:${e.valueReference}`)}},1191:(e,t,a)=>{a.d(t,{E:()=>pickBestSku,t:()=>isValidSkuId});var r=a(7201),i=a(92222);let pickBestSku=e=>{let t=e.flatMap(e=>e.sellers.map(t=>({offer:t.commertialOffer,sku:e}))),a=(0,r.V)(t,({offer:e},{offer:t})=>(0,i.T0)(e,t));return a?a.sku:e[0]},isValidSkuId=e=>""!==e&&!Number.isNaN(Number(e))},60899:(e,t,a)=>{a.d(t,{l:()=>slugify});let r="\xc1\xc4\xc2\xc0\xc3\xc5Č\xc7ĆĎ\xc9Ě\xcb\xc8\xcaẼĔȆ\xcd\xcc\xce\xcfŇ\xd1\xd3\xd6\xd2\xd4\xd5\xd8ŘŔŠŤ\xdaŮ\xdc\xd9\xdb\xddŸŽ\xe1\xe4\xe2\xe0\xe3\xe5č\xe7ćď\xe9ě\xeb\xe8\xeaẽĕȇ\xed\xec\xee\xefň\xf1\xf3\xf6\xf2\xf4\xf5\xf8\xf0řŕšť\xfaů\xfc\xf9\xfb\xfd\xffž\xfe\xdeĐđ\xdf\xc6a",removeDiacritics=e=>{let t=e.slice(0);for(let e=0;e<r.length;e++)t=t.replace(RegExp(r.charAt(e),"g"),"AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa".charAt(e));return t},slugifySpecialCharacters=e=>e.replace(/[·/_,:]/,"-");function slugify(e){let t=e.replace(/,/g,""),a=t.replace(/[*+~.()'"!:@&\[\]`/ %$#?{}><=_^]/g,"-"),r=slugifySpecialCharacters(removeDiacritics(a));return r.toLowerCase()}},92170:(e,t,a)=>{a.d(t,{J:()=>withTax});let withTax=(e,t=0,a=1)=>Math.round((e+t/a)*100)/100},33999:(e,t,a)=>{a.a(e,async(e,t)=>{try{var r=a(57343),i=a(45774),n=e([i]);i=(n.then?(await n)():n)[0],(0,i.loadFilesSync)(__dirname,{extensions:[".graphql"]}).map(r.print).join("\n"),t()}catch(e){t(e)}})},57565:e=>{e.exports=JSON.parse('{"9baae331b75848a310fecb457e8c971ae27897ff":"query ServerAccountPageQuery { accountProfile { name } }","4b33c5c07f440dc7489e55619dc2211a13786e72":"fragment ServerCollectionPage on Query { collection(slug: $slug) { id } } query ServerCollectionPageQuery($slug: String!) { collection(slug: $slug) { breadcrumbList { itemListElement { item name position } } meta { selectedFacets { key value } } seo { description title } } ...ServerCollectionPage }","e855903879c6504e90269e6e010549bc6de933eb":"fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } fragment ServerProduct on Query { product(locator: $locator) { id: productID } } query ServerProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { brand { name } breadcrumbList { itemListElement { item name position } } description gtin image { alternateName url } isVariantOf { productGroupID } name offers { highPrice lowPrice lowPriceWithTaxes offers { availability itemCondition price priceCurrency priceValidUntil seller { identifier } } priceCurrency } id: productID releaseDate seo { canonical description title } sku ...ProductDetailsFragment_product } ...ServerProduct }","7937ec2d330f0f6f68f3aab589f10bc96c6ddeea":"query ServerOrderDetailsQuery($orderId: String!) { accountProfile { name } userOrder(orderId: $orderId) { allowCancellation canProcessOrderAuthorization clientProfileData { corporateName email firstName isCorporate lastName phone } creationDate customFields { fields { name refId value } id type } deliveryOptionsData { contact { email name phone } deliveryOptions { address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } deliveryChannel deliveryCompany deliveryWindow { endDateUtc price startDateUtc } friendlyDeliveryOptionName friendlyShippingEstimate items { id imageUrl name price quantity tax total uniqueId } pickupStoreInfo { additionalInfo address { addressId addressType city complement country entityId geoCoordinates neighborhood number postalCode receiverName reference state street versionId } dockId friendlyName isPickupStore } quantityOfDifferentItems selectedSla seller shippingEstimate shippingEstimateDate total } } orderId paymentData { transactions { isActive payments { bankIssuedInvoiceIdentificationNumber connectorResponses { authId } group id installments lastDigits paymentOrigin paymentSystemName redemptionCode referenceValue tid url value } } } ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } shopper { email firstName lastName phone } status statusDescription storePreferencesData { currencyCode } totals { id name value } } }","b0a6b9da966cf2365f9806fd810bac248b44dba8":"query ServerListOrdersQuery($clientEmail: String, $dateFinal: String, $dateInitial: String, $page: Int, $perPage: Int, $status: [String], $text: String) { accountProfile { name } listUserOrders( page: $page perPage: $perPage status: $status dateInitial: $dateInitial dateFinal: $dateFinal text: $text clientEmail: $clientEmail ) { list { ShippingEstimatedDate clientName creationDate currencyCode customFields { type value } items { description ean id price productId quantity refId seller sellingPrice } orderId status statusDescription totalValue } paging { currentPage pages perPage total } } }","672fe0f00b7b710b63fc6573c0a6b2ec54812b8f":"query ServerProfileQuery { accountProfile { email id name } }","0890ba3456c40a426893b80b698df7a84cfdd6a1":"query ServerSecurity { accountProfile { name } userDetails { email } }","e5eb7e46c685d0c7a2ec62c865bfb0a66f81d557":"query ServerUserDetailsQuery { accountProfile { name } userDetails { email name orgUnit role } }","e2b06da6840614d3c72768e56579b9d3b8e80802":"mutation CancelOrderMutation($data: IUserOrderCancel!) { cancelOrder(data: $data) { data } }","8c25d37c8d6e7c20ab21bb8a4f4e6a2fe320ea8d":"mutation ProcessOrderAuthorizationMutation($data: IProcessOrderAuthorization!) { processOrderAuthorization(data: $data) { isPendingForOtherAuthorizer ruleForAuthorization { dimensionId orderAuthorizationId rule { authorizationData { authorizers { authorizationDate email id type } requireAllApprovals } authorizedEmails doId id isUserAuthorized isUserNextAuthorizer name notification priority scoreInterval { accept deny } status timeout trigger { condition { conditionType description expression greatherThan lessThan } effect { description effectType funcPath } } } } } }","32f99c73c3de958b64d6bece1afe800469f54548":"query ValidateUser { validateUser { isValid } }","c2b3f8bff73ebf6ac79d758c66cabbc21ba9fcc0":"fragment CartItem on StoreOffer { itemOffered { ...CartProductItem } listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } fragment CartMessage on StoreCartMessage { status text } fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) { validateCart(cart: $cart, session: $session) { messages { ...CartMessage } order { acceptedOffer { ...CartItem } orderNumber shouldSplitItem } } }","3fa04e88c811fcb5ece7206fd5aa745bdbc143a8":"query ClientPickupPointsQuery($geoCoordinates: IStoreGeoCoordinates) { pickupPoints(geoCoordinates: $geoCoordinates) { pickupPointDistances { address { city number postalCode state street } distance isActive pickupId pickupName } } }","feb7005103a859e2bc8cf2360d568806fd88deba":"mutation SubscribeToNewsletter($data: IPersonNewsletter!) { subscribeToNewsletter(data: $data) { id } }","dc912e7272e3d9f5ced206837df87f544d39d0a5":"query ClientProductCountQuery($term: String) { productCount(term: $term) { total } }","4039e05f01a2fe449e20e8b82170d0ba94b1fbe9":"fragment ProductSKUMatrixSidebarFragment_product on StoreProduct { isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { additionalProperty { name propertyID value valueReference } image { alternateName url } name offers { highPrice lowPrice lowPriceWithTaxes offerCount offers { availability itemCondition listPrice listPriceWithTaxes price priceCurrency priceValidUntil priceWithTaxes quantity sellingPrice } priceCurrency } sku } availableVariations slugsMap } } id: productID } query ClientAllVariantProductsQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductSKUMatrixSidebarFragment_product } }","e49027bc29aa10cbf7bbb0ed62239af8de1653f0":"fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } query ClientManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $sponsoredCount: Int, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }","bfc40da32b60f9404a4adb96b0856e3fbb04b076":"fragment ClientProductGallery on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { products { pageInfo { totalCount } } } } fragment Filter_facets on StoreFacet { ... on StoreFacetBoolean { __typename key label values { label quantity selected value } } ... on StoreFacetRange { __typename key label max { absolute selected } min { absolute selected } } } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientProductGalleryQuery($after: String!, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $term: String!) { redirect(term: $term, selectedFacets: $selectedFacets) { url } search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets ) { facets { ...Filter_facets } metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } } ...ClientProductGallery }","47aa22eb750cb2c529e5eeafb921bfeadb67db71":"fragment CartProductItem on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations availableVariations slugsMap } } name sku unitMultiplier } fragment ClientProduct on Query { product(locator: $locator) { id: productID } } fragment ProductDetailsFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } brand { name } description gtin image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes seller { identifier } } } id: productID sku unitMultiplier ...CartProductItem } query ClientProductQuery($locator: [IStoreSelectedFacet!]!) { product(locator: $locator) { ...ProductDetailsFragment_product } ...ClientProduct }","b668777678c137b8c7004297df4d8b8f2b29ee06":"fragment ProductComparisonFragment_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { name } description gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku skuSpecifications { field { id name originalName } values { fieldId id name originalName } } slug specificationGroups { name originalName specifications { name originalName values } } unitMultiplier } query ClientManyProductsSelectedQuery($productIds: [String!]!) { products(productIds: $productIds) { ...ProductComparisonFragment_product } }","34ea14c0d4a57ddf9bc11e4be0cd2b5a6506d3d4":"query ClientProfileQuery($id: String!) { profile(id: $id) { addresses { city country geoCoordinate postalCode } } }","bbaa2ed75c4fb04842189e8d53a1d65481154e2b":"fragment ClientSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ClientSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { metadata { ...SearchEvent_metadata } products { pageInfo { totalCount } } suggestions { products { ...ProductSummary_product } terms { value } } } ...ClientSearchSuggestions }","e2385b0f11726d0068f96548f57a8dd441c064e3":"fragment ClientTopSearchSuggestions on Query { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } } query ClientTopSearchSuggestionsQuery($selectedFacets: [IStoreSelectedFacet!], $term: String!) { search(first: 5, term: $term, selectedFacets: $selectedFacets) { suggestions { terms { value } } } ...ClientTopSearchSuggestions }","8c3a5999496e227f167e9dc79697e6c478d48a9e":"mutation ValidateSession($search: String!, $session: IStoreSession!) { validateSession(session: $session, search: $search) { addressType b2b { contractName customerId firstName isRepresentative lastName organizationManager savedPostalCode unitId unitName userEmail userName } channel city country currency { code symbol } deliveryMode { deliveryChannel deliveryMethod deliveryWindow { endDate startDate } } geoCoordinates { latitude longitude } locale marketingData { utmCampaign utmMedium utmSource utmiCampaign utmiPage utmiPart } person { email familyName givenName id } postalCode refreshAfter } }","c35bad22f67f3eb34fea52bb49efa6b1da6b728d":"fragment ClientShippingSimulation on Query { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city } } } query ClientShippingSimulationQuery($country: String!, $items: [IShippingItem!]!, $postalCode: String!) { shipping(items: $items, postalCode: $postalCode, country: $country) { address { city neighborhood state } logisticsInfo { slas { availableDeliveryWindows { endDateUtc listPrice price startDateUtc } carrier deliveryChannel localizedEstimates price shippingEstimate } } } ...ClientShippingSimulation }","4b769cda49004c85d0d427c601eba36c37a52224":"fragment ClientManyProducts on Query { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { products { pageInfo { totalCount } } } } fragment ProductSummary_product on StoreProduct { additionalProperty { name propertyID value valueReference } advertisement { adId adResponseId } brand { brandName: name } brand { name } deliveryPromiseBadges { typeName } gtin hasSpecifications image { alternateName url } isVariantOf { name productGroupID skuVariants { activeVariations allVariantsByName availableVariations slugsMap } } isVariantOf { name productGroupID skuVariants { activeVariations allVariantProducts { name productID } availableVariations slugsMap } } name offers { lowPrice lowPriceWithTaxes offers { availability listPrice listPriceWithTaxes price priceWithTaxes quantity seller { identifier } } } id: productID sku slug unitMultiplier unitMultiplier } fragment SearchEvent_metadata on SearchMetadata { fuzzy isTermMisspelled logicalOperator } query ServerManyProductsQuery($after: String, $first: Int!, $selectedFacets: [IStoreSelectedFacet!]!, $sort: StoreSort!, $sponsoredCount: Int, $term: String!) { search( first: $first after: $after sort: $sort term: $term selectedFacets: $selectedFacets sponsoredCount: $sponsoredCount ) { metadata { ...SearchEvent_metadata } products { edges { node { ...ProductSummary_product } } pageInfo { totalCount } } } ...ClientManyProducts }"}')}};
|