cloudcommerce 0.6.3 → 0.6.4
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/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/packages/api/lib/types/carts.d.ts +72 -20
- package/packages/api/lib/types/orders.d.ts +72 -20
- package/packages/api/lib/types/products.d.ts +82 -11
- package/packages/api/package.json +1 -1
- package/packages/api/src/types/carts.d.ts +72 -20
- package/packages/api/src/types/orders.d.ts +72 -20
- package/packages/api/src/types/products.d.ts +82 -11
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/infinitepay/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +1 -1
- package/packages/events/package.json +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +3 -2
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +1 -1
- package/packages/ssr/src/firebase/serve-storefront.ts +3 -2
- package/packages/storefront/dist/client/_astro/PitchBar.b3636d56.js +1 -0
- package/packages/storefront/dist/client/_astro/ShopHeader.44e0873d.js +4 -0
- package/packages/storefront/dist/client/_astro/{_...slug_.a594715c.css → _...slug_.cd49465e.css} +1 -1
- package/packages/storefront/dist/client/_astro/client.14d15518.js +1 -0
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/pages/{all.f15e2c35.mjs → all.7f368e08.mjs} +114 -56
- package/packages/storefront/dist/server/entry.mjs +56 -14
- package/packages/storefront/package.json +1 -1
- package/packages/storefront/src/lib/components/CarouselControl.vue +4 -1
- package/packages/storefront/src/lib/components/globals/AImg.vue +53 -0
- package/packages/storefront/src/lib/layouts/BaseHead.astro +3 -1
- package/packages/storefront/src/lib/pages/_vue.ts +2 -0
- package/packages/storefront/src/vue-globals.d.ts +1 -0
- package/packages/types/package.json +1 -1
- package/packages/storefront/dist/client/_astro/PitchBar.5ced676e.js +0 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.05d64cc8.js +0 -4
- package/packages/storefront/dist/client/_astro/client.79615b8a.js +0 -1
- package/packages/storefront/dist/client/fallback/index.html +0 -79
- package/packages/storefront/dist/server/chunks/prerender.2527d85d.mjs +0 -2
|
@@ -34,6 +34,7 @@ export default (req, res) => {
|
|
|
34
34
|
global.ssr_handler(req, res, async (err) => {
|
|
35
35
|
if (err) {
|
|
36
36
|
res.set('X-SSR-Error', err.message);
|
|
37
|
+
res.set('X-SSR-Error-Stack', err.stack);
|
|
37
38
|
fallback(err);
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
@@ -42,8 +43,8 @@ export default (req, res) => {
|
|
|
42
43
|
const data = await readFile(local);
|
|
43
44
|
setStatusAndCache(200, 'public, max-age=60, s-maxage=600')
|
|
44
45
|
.send(data);
|
|
45
|
-
} catch {
|
|
46
|
-
fallback(
|
|
46
|
+
} catch (e) {
|
|
47
|
+
fallback(e, 404);
|
|
47
48
|
}
|
|
48
49
|
});
|
|
49
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAC5C,MAAM,OAAO,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/E,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE;QACjE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;aACtB,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;aACnC,GAAG,CACF,eAAe,EACf,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;eACvE,YAAY,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE;QAC1C,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3E,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC;iBAC7C,IAAI,CAAC,cAAc;kBAChB,yCAAyC;kBACvC,wBAAwB,MAAM,QAAQ,kBAAkB,CAAC,GAAG,CAAC,KAAK;kBACpE,gBAAgB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACvD;aAAM;YACL,iBAAiB,CAAC,MAAM,EAAE,mCAAmC,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IAEF;;;;MAIE;IACF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;QAC9C,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnC,iBAAiB,CAAC,GAAG,EAAE,kCAAkC,CAAC;iBACvD,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QAAC,
|
|
1
|
+
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAC5C,MAAM,OAAO,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACrD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/E,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;IAC7C,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,iBAAiB,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE;QACjE,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;aACtB,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;aACnC,GAAG,CACF,eAAe,EACf,CAAC,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;eACvE,YAAY,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE;QAC1C,IAAI,GAAG,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAC3E,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC;iBAC7C,IAAI,CAAC,cAAc;kBAChB,yCAAyC;kBACvC,wBAAwB,MAAM,QAAQ,kBAAkB,CAAC,GAAG,CAAC,KAAK;kBACpE,gBAAgB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;SACvD;aAAM;YACL,iBAAiB,CAAC,MAAM,EAAE,mCAAmC,CAAC;iBAC3D,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;SACzB;IACH,CAAC,CAAC;IAEF;;;;MAIE;IACF,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;QAC9C,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnC,iBAAiB,CAAC,GAAG,EAAE,kCAAkC,CAAC;iBACvD,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -41,6 +41,7 @@ export default (req: Request, res: Response) => {
|
|
|
41
41
|
global.ssr_handler(req, res, async (err: any) => {
|
|
42
42
|
if (err) {
|
|
43
43
|
res.set('X-SSR-Error', err.message);
|
|
44
|
+
res.set('X-SSR-Error-Stack', err.stack);
|
|
44
45
|
fallback(err);
|
|
45
46
|
return;
|
|
46
47
|
}
|
|
@@ -49,8 +50,8 @@ export default (req: Request, res: Response) => {
|
|
|
49
50
|
const data = await readFile(local);
|
|
50
51
|
setStatusAndCache(200, 'public, max-age=60, s-maxage=600')
|
|
51
52
|
.send(data);
|
|
52
|
-
} catch {
|
|
53
|
-
fallback(
|
|
53
|
+
} catch (e) {
|
|
54
|
+
fallback(e, 404);
|
|
54
55
|
}
|
|
55
56
|
});
|
|
56
57
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{v as G}from"./runtime-dom.esm-bundler.cb4db78a.js";import{p as J}from"./modules-info.01f8d523.js";import{c as g,d as z,_ as R,m as Q,o as u,a as f,p as x,e as I,n as D,j as d,q as b,s as O,u as X,v as Y,x as Z,y as ee,k as $,w as v,l as q,g as C,z as te,A as ae,B as oe,F as re,C as ne,b as se}from"./_plugin-vue_export-helper.43eaff51.js";import{u as le,a as ie,b as ue}from"./index.3243538d.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.060d67ef.js";const ce=o=>{const n=g(()=>o.slides.map(({html:e})=>J(e).value)),a=g(()=>n.value.filter(e=>e).length);return{parsedContents:n,countValidSlides:a}},K=Symbol("carousel"),de=z({__name:"CarouselControl",props:{direction:{default:1}},setup(o,{expose:n}){n();const{changeSlide:a}=Q(K),e={changeSlide:a};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),pe=["aria-label","data-carousel-control"];function fe(o,n,a,e,s,r){return u(),f("button",{type:"button","aria-label":a.direction>0?"Próximo":"Anterior",onClick:n[0]||(n[0]=i=>e.changeSlide(a.direction)),"data-carousel-control":a.direction>0?"next":"previous",class:"group"},[x(o.$slots,"default",{},()=>[I("i",{class:D(["m-0",a.direction>0?"i-chevron-right group-active:translate-x-1":"i-chevron-left group-active:-translate-x-1"])},null,2)])],8,pe)}const U=R(de,[["render",fe]]),ve=z({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:null},emits:["update:modelValue"],setup(o,{expose:n,emit:a}){n();const e=o,s=d(e.modelValue-1);b(O(e,"modelValue"),t=>{s.value=t-1}),b(s,(t,l)=>{t!==l&&a("update:modelValue",t+1)});const r=d(null),{x:i,isScrolling:p,arrivedState:S}=le(r),y=g(()=>S.left),w=g(()=>S.right),m=d([]),B=d(0),P=d(0),V=d(0),j=()=>{B.value=r.value.scrollWidth,P.value=r.value.offsetWidth},A=()=>{const t=[...r.value.children];m.value=t.map(l=>({offsetLeft:l.offsetLeft,width:l.offsetWidth}))},E=t=>{const l=t>0?s.value:s.value+t,M=m.value[l]?.width||0;return M?M*t:0},L=()=>{const t=m.value.findIndex(l=>Math.abs(l.offsetLeft-i.value)<=5);t>-1&&(s.value=t||0)},T=()=>{const t=B.value-P.value;V.value=m.value.findIndex(({offsetLeft:l})=>l>=t-5)};let c=null;const h=()=>{e.autoplay&&(clearTimeout(c),c=setTimeout(()=>{_(1)},e.autoplay))},_=t=>{if(t<0){if(y.value){T(),s.value=V.value-1,_(1);return}}else if(w.value){s.value=1,_(-1);return}const l=E(t);l&&(r.value.scrollBy({left:l,behavior:"smooth"}),h())};b(p,t=>{t?clearTimeout(c):(L(),h())});const N=d(null),F=ie(N);b(F,t=>{t?clearTimeout(c):h()});const W=()=>{r.value&&(j(),A(),L(),T())},k=ue(W,400);X(()=>{W(),Y(()=>{[...r.value.children].forEach(t=>{t.setAttribute("tabindex","0")})}),h(),window.addEventListener("resize",k)}),Z(()=>{window.removeEventListener("resize",k),clearTimeout(c)}),ee(K,{autoplay:O(e,"autoplay"),changeSlide:_,isBoundLeft:y,isBoundRight:w});const H={props:e,emit:a,currentIndex:s,wrapper:r,currentPos:i,isScrolling:p,arrivedState:S,isBoundLeft:y,isBoundRight:w,slidesWidth:m,wrapperScrollWidth:B,wrapperVisibleWidth:P,indexCount:V,calcWrapperWidth:j,calcSlidesWidth:A,calcNextWidth:E,calcCurrentIndex:L,calcIndexCount:T,get autoplayTimer(){return c},set autoplayTimer(t){c=t},restartAutoplay:h,changeSlide:_,carousel:N,isHovered:F,calcOnInit:W,onResize:k,CarouselControl:U};return Object.defineProperty(H,"__isScriptSetup",{enumerable:!1,value:!0}),H}}),me={ref:"carousel","data-carousel":""};function he(o,n,a,e,s,r){return u(),f("div",me,[(u(),$(q(a.as),{ref:"wrapper","data-carousel-wrapper":""},{default:v(()=>[x(o.$slots,"default")]),_:3},512)),x(o.$slots,"controls",te(ae({changeSlide:e.changeSlide,isBoundLeft:e.isBoundLeft,isBoundRight:e.isBoundRight,currentPage:e.currentIndex+1,pageCount:e.indexCount+1})),()=>[C(e.CarouselControl,{direction:-1},{default:v(()=>[x(o.$slots,"previous")]),_:3}),C(e.CarouselControl,null,{default:v(()=>[x(o.$slots,"next")]),_:3})])],512)}const _e=R(ve,[["render",he]]),xe=z({__name:"PitchBar",props:{slides:null},setup(o,{expose:n}){n();const a=o,{parsedContents:e,countValidSlides:s}=ce(a),r={props:a,parsedContents:e,countValidSlides:s,Carousel:_e,CarouselControl:U};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Ce={class:"bg-base-100 relative z-1"},be={class:"container md:w-2/3 mx-auto px-3 py-1"},ge=["innerHTML"],Se={class:"text-xl leading-none text-base-400"};function ye(o,n,a,e,s,r){return u(),f("div",Ce,[I("div",be,[C(e.Carousel,{autoplay:e.countValidSlides>1?7e3:null},{controls:v(()=>[oe(I("div",Se,[C(e.CarouselControl,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),C(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[G,e.countValidSlides>1]])]),default:v(()=>[(u(!0),f(re,null,ne(a.slides,(i,p)=>(u(),f("li",{key:p},[(u(),$(q(i.href?"ALink":"span"),{href:i.href,target:i.target,class:D(["inline-block px-8",i.href?"hover:underline":null])},{default:v(()=>[e.parsedContents[p]?(u(),f("span",{key:0,innerHTML:e.parsedContents[p],class:"prose text-sm text-base-800"},null,8,ge)):se("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const Ie=R(xe,[["render",ye]]);export{Ie as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{c as qe,u as Xe,p as Qe,b as Ze}from"./index.3243538d.js";import{j as O,c as P,q as W,u as ie,d as $,s as et,_ as G,r as oe,o as w,k as F,w as D,a as k,n as C,e as _,p as ae,b as R,a3 as tt,g as M,h as Oe,l as nt,t as I,F as L,C as J,f as ot,a4 as at,G as te,m as pe,y as fe,a5 as X,P as Ne,a6 as rt,z as lt,A as st,a7 as Ee,a8 as it,a9 as ut}from"./_plugin-vue_export-helper.43eaff51.js";import{w as ct}from"./runtime-dom.esm-bundler.cb4db78a.js";import{_ as dt}from"./preload-helper.101896b7.js";import{i as pt}from"./idle-callback.889bf0ea.js";const ft=e=>{if(e){if(e.display_name)return e.display_name;if(e.name&&e.name.given_name)return e.name.given_name}return""},vt=ft,mt=e=>{const{header:n,canSetStyles:o,canCreateHeightDiv:t,isShownOnScrollDown:a}={canSetStyles:!0,canCreateHeightDiv:!0,...e},{ready:r,start:l}=qe(100,{controls:!0,immediate:!1}),s=O(0),u=O(0);let i;const{y:p}=Xe(document),f=P(()=>r.value&&p.value>u.value*1.2),m=O("none");W(f,async y=>{o&&(n.value.style.position=y?"sticky":null),i&&(i.style.height=y?`${s.value}px`:null),y?(await Qe(300),m.value="opacity var(--transition-slow), transform var(--transition)"):(l(),m.value="none")});const h=O(!1);return W(p,(y,g)=>{h.value=y>0&&y<g}),ie(()=>{const y=()=>{s.value=n.value.offsetHeight,u.value=s.value+window.pageYOffset+n.value.getBoundingClientRect().top,l()},g=n.value.getElementsByTagName("IMG");let v=!0;for(let d=0;d<g.length;d++){const c=g[d];(!c.complete||c.naturalHeight===0)&&(v=!1,c.onload=y)}v&&y(),window.addEventListener("resize",Ze(y,300)),o&&(n.value.style.willChange="transform",W([f,h],([d,c])=>{let S=null,x=null;d&&(!c||a)&&(S="0",x="translateY(-100%)"),n.value.style.opacity=S,n.value.style.transform=x}),W(m,d=>{n.value.style.transition=d})),t&&(i=document.createElement("div"),n.value.parentElement.insertBefore(i,n.value))}),{staticHeight:s,staticY:u,isSticky:f,isScrollUp:h,transition:m}},ht=(e,n)=>{const o=e.filter(({slug:t,parent:a})=>t&&!a);return n?.length&&o.sort((t,a)=>{const r=n.indexOf(t.slug),l=n.indexOf(a.slug);return r>-1?l===-1||r<l?-1:1:l>-1?1:0}),o},gt=(e,n,o=!1)=>{const t=e.filter(({slug:a,parent:r})=>a&&r?r._id===n._id||r.slug&&r.slug===n.slug:!1);return o&&t.sort((a,r)=>a.name<r.name?-1:1),t},bt=({header:e,categories:n,menuCategorySlugs:o,menuRandomCategories:t=7,isAlphabeticalSortSubmenu:a})=>{const{isSticky:r,staticHeight:l,staticY:s}=mt({header:e}),u=P(()=>r.value?e.value.offsetHeight:s.value),i=ht(n,o),p=v=>gt(n,v,!!a),f=v=>({...v,subcategories:p(v).map(d=>f(d))}),m=i.map(f);let h=0;const y=m.filter(({slug:v})=>o?.includes(v)?!0:h<t?(h+=1,!0):!1),g=O(!1);return{isSticky:r,staticHeight:l,staticY:s,positionY:u,mainCategories:i,getSubcategories:p,getCategoryTree:f,categoryTrees:m,inlineMenuTrees:y,isSidenavOpen:g}},yt=$({__name:"Drawer",props:{modelValue:{type:Boolean,default:!1},placement:{default:"start"},position:{default:"fixed"},hasCloseButton:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:n,emit:o}){n();const t=e,a=()=>o("update:modelValue",!1),r=O(null),l=m=>{r.value?.contains(m.target)||a()},s=m=>{m.key==="Escape"&&a()};W(et(t,"modelValue"),async m=>{m?(document.body.style.overflow="hidden",setTimeout(()=>{document.addEventListener("click",l,{passive:!0}),document.addEventListener("keydown",s,{passive:!0})},500)):(document.body.style.overflow=null,document.removeEventListener("click",l),document.removeEventListener("keydown",s))});const u=P(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"up";default:return"down"}}),i=P(()=>t.position==="fixed"),p=P(()=>t.placement==="start"||t.placement==="end"),f={props:t,emit:o,close:a,drawer:r,outsideClickListener:l,escClickListener:s,slideTo:u,isFixed:i,isPlacementX:p};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),_t=["open","data-drawer"],wt={class:"relative h-full"},St=["onClick"],xt=_("i",{class:"i-close text-base-400 text-3xl"},null,-1),Pt={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""};function kt(e,n,o,t,a,r){const l=oe("Fade");return w(),F(l,{slide:t.slideTo,speed:"slow","is-floating":""},{default:D(()=>[o.modelValue?(w(),k("dialog",{key:0,ref:"drawer",class:C(["w-screen max-w-sm shadow p-0 m-0 z-50",[o.position,t.isFixed?`top-0 left-0 ${t.isPlacementX?"h-screen":""}`:null]]),open:o.modelValue,"data-drawer":o.placement},[_("div",wt,[o.hasCloseButton?(w(),k("button",{key:0,type:"button","aria-label":"Fechar",onClick:ct(t.close,["prevent"]),class:C(["absolute top-2",o.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[ae(e.$slots,"close",{},()=>[xt])],10,St)):R("",!0),ae(e.$slots,"default")]),(w(),F(tt,{to:"#teleported-top"},[M(l,null,{default:D(()=>[o.modelValue?(w(),k("div",Pt)):R("",!0)]),_:1})]))],10,_t)):R("",!0)]),_:3},8,["slide"])}const Ot=G(yt,[["render",kt]]);globalThis.__apiCache||(globalThis.__apiCache={});const ee={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SITE:'"https://ecom2-002.web.app"',SSR:!1};class Te extends Error{constructor(n,o,t,a=!1){o?(super(o.statusText),this.data=o.data,this.statusCode=o.status):super(t||"Request error"),this.config=n,this.response=o,this.isTimeout=a}}const Et={middleware(e){const n={...e.headers};if(!e.isNoAuth)if(e.accessToken)n.Authorization=`Bearer ${e.accessToken}`;else{const r=e.authenticationId||ee.ECOM_AUTHENTICATION_ID,l=e.apiKey||ee.ECOM_API_KEY;if(r&&l){const s=`${r}:${l}`,u=typeof Buffer=="function"?Buffer.from(s).toString("base64"):btoa(s);n.Authorization=`Basic ${u}`}}let o=e.baseUrl||ee.API_BASE_URL||"https://ecomplus.io/v2";const{endpoint:t,params:a}=e;if(t!=="login"&&t!=="authenticate"&&t!=="ask-auth-callback"&&t!=="check-username"){const r=e.storeId||ee.ECOM_STORE_ID;if(!r)throw new Error("`storeId` must be set in config or `ECOM_STORE_ID` env var");o+=`/:${r}`;const l=e.lang||ee.ECOM_LANG;l&&(o+=`,lang:${l}`)}if(o+=`/${t}`,a){if(typeof a=="string")o+=`?${a}`;else if(typeof a=="object"){const r=new URLSearchParams;Object.keys(a).forEach(l=>{const s=a[l];Array.isArray(s)?s.forEach(u=>{r.append(l,u)}):r.append(l,s)}),o+=`?${r.toString()}`}}return{url:o,headers:n}}},A=async(e,n=0)=>{const{url:o,headers:t}=Et.middleware(e),{method:a="get",timeout:r=2e4,maxRetries:l=3,cacheMaxAge:s=6e5}=e,u=a==="get"&&(e.canCache||e.canCache===void 0&&ee.SSR);let i;if(u){i=`${o}${JSON.stringify(t)}`;const v=globalThis.__apiCache[i];if(v&&Date.now()-v.timestamp<=s)return{...v.res,config:e}}const p=e.body||e.data;let f;p&&(f=JSON.stringify(p),t["Content-Type"]="application/json",t["Content-Length"]=f.length.toString());const m=new AbortController;let h=!1;const y=setTimeout(()=>{m.abort(),h=!0},r);let g;try{g=await(e.fetch||fetch)(o,{method:a,headers:t,body:f,signal:m.signal})}catch(v){throw new Te(e,g,v.message,h)}if(clearTimeout(y),g){if(g.ok){const d={...g,data:await g.json()};return u&&i&&(globalThis.__apiCache[i]={timestamp:Date.now(),res:d}),{...d,config:e}}const{status:v}=g;if(l<n&&(v===429||v>=500)){const d=g.headers.get("retry-after");return new Promise((c,S)=>{setTimeout(()=>{A(e,n+1).then(c).catch(S)},d&&parseInt(d,10)||5e3)})}}try{g.data=await g?.json()}catch{}throw new Te(e,g)},Tt=(e,n)=>A({...n,endpoint:e}),Ct=(e,n,o)=>A({...o,method:"post",endpoint:e,body:n}),$t=(e,n,o)=>A({...o,method:"put",endpoint:e,body:n}),It=(e,n,o)=>A({...o,method:"patch",endpoint:e,body:n}),Me=(e,n)=>A({...n,method:"delete",endpoint:e});A.get=Tt;A.post=Ct;A.put=$t;A.patch=It;A.del=Me;A.delete=Me;const At=(e,n,o=globalThis.localStorage)=>{if(!o)return Oe(n);let t;const a=o.getItem(e);if(a)try{t=JSON.parse(a)}catch{t=null,o.removeItem(e)}const r=Oe(t||n);return W(r,()=>{o.setItem(e,JSON.stringify(r))}),r},Fe="SESSION",ye={customer:{display_name:"",main_email:""},auth:null},N=At(Fe,ye),xe=P(()=>{const{auth:e}=N;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),Le=P(()=>N.customer),_e=P(()=>vt(Le.value)),Ce=P({get(){return Le.value.main_email},set(e){N.customer.main_email=e}});let K;const Nt=P(()=>xe.value||!!K?.currentUser?.emailVerified),je=()=>{N.auth=ye.auth,N.customer=ye.customer,localStorage.removeItem(Fe),K.signOut()},De=async()=>{const e=await K.currentUser.getIdToken(),{domain:n}=window.storefront.settings;try{const o=await fetch(`https://${n}/api/passport/token`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}});N.auth=await o.json()}catch(o){console.error(o)}},Mt=async()=>(xe.value||await De(),N.auth.access_token),Ft=async()=>{const e=await Mt(),{data:n}=await A.get(`customers/${N.auth.customer_id}`,{accessToken:e});return N.customer=n,n};let $e=!1;const Lt=(e=!window.location.pathname.startsWith("/app/"))=>{if($e)return;$e=!0;const n=()=>dt(()=>import("./firebase-app.7ce2ebb1.js"),[]).then(({getAuth:o,onAuthStateChanged:t,isSignInWithEmailLink:a,signInWithEmailLink:r})=>{if(K=o(),t(K,async l=>{if(l){if(l.displayName&&!_e.value&&(N.customer.display_name=l.displayName),l.email&&(!Ce.value||l.emailVerified)&&(N.customer.main_email=l.email),l.emailVerified){const s=l.email!==Ce.value;(s||!xe.value)&&(await De(),(s||!_e.value)&&await Ft())}}else je()}),a(K,window.location.href)){const s=new URLSearchParams(window.location.search).get("email");s&&r(K,s,window.location.href).then(()=>window.localStorage.removeItem("emailForSignIn")).catch(console.error)}}).catch(console.error);e?pt(n):n()},{settings:Ie,context:uo}=globalThis.storefront,jt=["whatsapp","instagram","facebook","twitter","youtube","tiktok","pinterest"],Pe={};jt.forEach(e=>{Ie[e]&&(Pe[e]=Ie[e])});let le;le=navigator.userAgent,document.body?document.body.offsetWidth:window.screen.width;le.includes("Safari")&&le.includes("Chrome");const Dt=/iPad|iPhone|iPod/.test(le)&&!window.MSStream,Bt=Dt||/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(le),Ht=$({__name:"SocialNetworkIcon",props:{as:{default:"i"},network:null},setup(e,{expose:n}){n();const o=e,t=P(()=>{switch(o.network){case"facebook":return"i-facebook";case"instagram":return"i-instagram";case"whatsapp":return"i-whatsapp";case"youtube":return"i-youtube";case"pinterest":return"i-pinterest";case"tiktok":return"i-tiktok";case"twitter":return"i-twitter";default:return""}}),a={props:o,iconClassName:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function Rt(e,n,o,t,a,r){return w(),F(nt(o.as),{class:C(t.iconClassName)},null,8,["class"])}const Vt=G(Ht,[["render",Rt]]),Ut=$({__name:"SocialNetworkLink",props:{network:null,href:null,message:null},setup(e,{expose:n}){n();const o=e,t=P(()=>{let r=o.href||Pe[o.network];if(o.network==="whatsapp"){const l=r.replace(/[^+\d]/g,"");r=`https://${Bt?"api":"web"}.whatsapp.com/send?phone=`+encodeURIComponent(l.charAt(0)==="+"?l:`+55${l}`),o.message&&(r+=`&text=${encodeURIComponent(o.message)}`)}return r}),a={props:o,fixedHref:t,SocialNetworkIcon:Vt};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function zt(e,n,o,t,a,r){const l=oe("ALink");return w(),F(l,{href:t.fixedHref},{default:D(()=>[ae(e.$slots,"default",{},()=>[M(t.SocialNetworkIcon,{network:o.network},null,8,["network"]),ae(e.$slots,"append")])]),_:3},8,["href"])}const Gt=G(Ut,[["render",zt]]),Wt=$({__name:"ShopSidenavCategory",props:{categoryTree:null},setup(e,{expose:n}){n();const o=O(!1),t=O(!0);W(o,r=>{r?setTimeout(()=>{t.value=!1},25):t.value=!0});const a={isOpen:o,isFaded:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Kt={class:"text-lg text-base-800"},Yt=["href"],Jt=["href"],qt={class:"inline"};function Xt(e,n,o,t,a,r){const l=oe("AImg"),s=oe("ShopSidenavCategory",!0);return w(),k("li",Kt,[o.categoryTree.subcategories.length?(w(),k("details",{key:0,class:"bg-white overflow-y-auto overflow-x-hidden z-10 open:absolute open:top-0 open:left-0 open:w-full open:h-full",onToggle:n[0]||(n[0]=u=>t.isOpen=!t.isOpen)},[_("summary",{class:C(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[_("i",{class:C(t.isOpen?"i-arrow-left text-lg":"i-arrow-right float-right mb-0 mt-1 text-xl text-base-500")},null,2),!t.isOpen&&o.categoryTree.icon?(w(),F(l,{key:0,picture:o.categoryTree.icon,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):R("",!0),_("h3",{class:C(["inline",t.isOpen?"ml-4 text-base":null])},I(o.categoryTree.name),3)],2),_("ul",{class:C(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(w(!0),k(L,null,J(o.categoryTree.subcategories,u=>(w(),F(s,{key:u._id,"category-tree":u},null,8,["category-tree"]))),128)),_("li",null,[_("a",{href:`/${o.categoryTree.slug}`,class:"block px-6 py-3 text-base underline active:bg-base-200"},I("Ver toda a categoria $1".replace("$1",o.categoryTree.name)),9,Yt)])],2)],32)):(w(),k("a",{key:1,href:`/${o.categoryTree.slug}`,class:"block px-6 py-3 active:bg-base-200"},[!t.isOpen&&o.categoryTree.icon?(w(),F(l,{key:0,picture:o.categoryTree.icon,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):R("",!0),_("h3",qt,I(o.categoryTree.name),1)],8,Jt))])}const Qt=G(Wt,[["render",Xt]]),Zt=$({__name:"ShopSidenav",props:{categoryTrees:null},setup(e,{expose:n}){n(),ie(()=>Lt());const o={get customerName(){return _e},get isLogged(){return Nt},get logout(){return je},get socialNetworks(){return Pe},SocialNetworkLink:Gt,ShopSidenavCategory:Qt};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),en={class:"flex flex-col h-full"},tn={class:"py-4 grow"},nn={class:"relative h-full"},on={class:"text-base"},an={class:"flex items-center px-2 py-4 bg-base-100"},rn={href:"/app/account",class:"p-2 grow flex items-center gap-3"},ln=_("i",{class:"i-account text-4xl text-base-500 m-0"},null,-1),sn={class:"leading-tight"},un=_("small",{class:"block lowercase font-semibold text-primary"},I("Meus pedidos")+", "+I("Minha conta"),-1),cn=_("span",{class:"text-base-600"},I("Sair"),-1),dn=_("i",{class:"i-logout text-lg ml-1"},null,-1),pn=[cn,dn],fn={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function vn(e,n,o,t,a,r){return w(),k("aside",en,[_("nav",tn,[_("ul",nn,[(w(!0),k(L,null,J(o.categoryTrees,l=>(w(),F(t.ShopSidenavCategory,{key:l._id,"category-tree":l},null,8,["category-tree"]))),128))])]),_("footer",on,[_("div",an,[_("a",rn,[ln,_("span",sn,[ot(I(`Olá ${t.customerName||"Visitante"}`)+" ",1),un])]),t.isLogged?(w(),k("button",{key:0,onClick:n[0]||(n[0]=(...l)=>t.logout&&t.logout(...l)),class:"p-2 text-right text-base-800"},pn)):R("",!0)]),_("ul",fn,[(w(!0),k(L,null,J(t.socialNetworks,(l,s)=>(w(),k("li",{key:s},[M(t.SocialNetworkLink,{network:s,class:"p-1 active:text-primary"},null,8,["network"])]))),128))])])])}const mn=G(Zt,[["render",vn]]);function V(e,n,...o){if(e in n){let a=n[e];return typeof a=="function"?a(...o):a}let t=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(a=>`"${a}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,V),t}var se=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(se||{}),hn=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(hn||{});function re({visible:e=!0,features:n=0,ourProps:o,theirProps:t,...a}){var r;let l=He(t,o),s=Object.assign(a,{props:l});if(e||n&2&&l.static)return ge(s);if(n&1){let u=(r=l.unmount)==null||r?0:1;return V(u,{[0](){return null},[1](){return ge({...a,props:{...l,hidden:!0,style:{display:"none"}}})}})}return ge(s)}function ge({props:e,attrs:n,slots:o,slot:t,name:a}){var r,l;let{as:s,...u}=gn(e,["unmount","static"]),i=(r=o.default)==null?void 0:r.call(o,t),p={};if(t){let f=!1,m=[];for(let[h,y]of Object.entries(t))typeof y=="boolean"&&(f=!0),y===!0&&m.push(h);f&&(p["data-headlessui-state"]=m.join(" "))}if(s==="template"){if(i=Be(i??[]),Object.keys(u).length>0||Object.keys(n).length>0){let[f,...m]=i??[];if(!bn(f)||m.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${a} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(u).concat(Object.keys(n)).map(g=>g.trim()).filter((g,v,d)=>d.indexOf(g)===v).sort((g,v)=>g.localeCompare(v)).map(g=>` - ${g}`).join(`
|
|
2
|
+
`),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(g=>` - ${g}`).join(`
|
|
3
|
+
`)].join(`
|
|
4
|
+
`));let h=He((l=f.props)!=null?l:{},u),y=at(f,h);for(let g in h)g.startsWith("on")&&(y.props||(y.props={}),y.props[g]=h[g]);return y}return Array.isArray(i)&&i.length===1?i[0]:i}return te(s,Object.assign({},u,p),{default:()=>i})}function Be(e){return e.flatMap(n=>n.type===L?Be(n.children):[n])}function He(...e){if(e.length===0)return{};if(e.length===1)return e[0];let n={},o={};for(let t of e)for(let a in t)a.startsWith("on")&&typeof t[a]=="function"?(o[a]!=null||(o[a]=[]),o[a].push(t[a])):n[a]=t[a];if(n.disabled||n["aria-disabled"])return Object.assign(n,Object.fromEntries(Object.keys(o).map(t=>[t,void 0])));for(let t in o)Object.assign(n,{[t](a,...r){let l=o[t];for(let s of l){if(a instanceof Event&&a.defaultPrevented)return;s(a,...r)}}});return n}function gn(e,n=[]){let o=Object.assign({},e);for(let t of n)t in o&&delete o[t];return o}function bn(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let yn=0;function _n(){return++yn}function ne(){return _n()}var z=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(z||{});function b(e){var n;return e==null||e.value==null?null:(n=e.value.$el)!=null?n:e.value}let Re=Symbol("Context");var q=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(q||{});function Ve(){return pe(Re,null)}function wn(e){fe(Re,e)}function Ae(e,n){if(e)return e;let o=n??"button";if(typeof o=="string"&&o.toLowerCase()==="button")return"button"}function Sn(e,n){let o=O(Ae(e.value.type,e.value.as));return ie(()=>{o.value=Ae(e.value.type,e.value.as)}),X(()=>{var t;o.value||!b(n)||b(n)instanceof HTMLButtonElement&&!((t=b(n))!=null&&t.hasAttribute("type"))&&(o.value="button")}),o}class xn{constructor(){this.current=this.detect(),this.currentId=0}set(n){this.current!==n&&(this.currentId=0,this.current=n)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}}let ve=new xn;function ue(e){if(ve.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let n=b(e);if(n)return n.ownerDocument}return document}let we=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var B=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(B||{}),ce=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(ce||{}),Pn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Pn||{});function me(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(we)).sort((n,o)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(o.tabIndex||Number.MAX_SAFE_INTEGER)))}var ke=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(ke||{});function Ue(e,n=0){var o;return e===((o=ue(e))==null?void 0:o.body)?!1:V(n,{[0](){return e.matches(we)},[1](){let t=e;for(;t!==null;){if(t.matches(we))return!0;t=t.parentElement}return!1}})}let kn=["textarea","input"].join(",");function On(e){var n,o;return(o=(n=e?.matches)==null?void 0:n.call(e,kn))!=null?o:!1}function En(e,n=o=>o){return e.slice().sort((o,t)=>{let a=n(o),r=n(t);if(a===null||r===null)return 0;let l=a.compareDocumentPosition(r);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Y(e,n,{sorted:o=!0,relativeTo:t=null,skipElements:a=[]}={}){var r;let l=(r=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e?.ownerDocument)!=null?r:document,s=Array.isArray(e)?o?En(e):e:me(e);a.length>0&&s.length>1&&(s=s.filter(y=>!a.includes(y))),t=t??l.activeElement;let u=(()=>{if(n&5)return 1;if(n&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),i=(()=>{if(n&1)return 0;if(n&2)return Math.max(0,s.indexOf(t))-1;if(n&4)return Math.max(0,s.indexOf(t))+1;if(n&8)return s.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),p=n&32?{preventScroll:!0}:{},f=0,m=s.length,h;do{if(f>=m||f+m<=0)return 0;let y=i+f;if(n&16)y=(y+m)%m;else{if(y<0)return 3;if(y>=m)return 1}h=s[y],h?.focus(p),f+=u}while(h!==l.activeElement);return n&6&&On(h)&&h.select(),h.hasAttribute("tabindex")||h.setAttribute("tabindex","0"),2}function be(e,n,o){ve.isServer||X(t=>{document.addEventListener(e,n,o),t(()=>document.removeEventListener(e,n,o))})}function Tn(e,n,o=P(()=>!0)){function t(r,l){if(!o.value||r.defaultPrevented)return;let s=l(r);if(s===null||!s.getRootNode().contains(s))return;let u=function i(p){return typeof p=="function"?i(p()):Array.isArray(p)||p instanceof Set?p:[p]}(e);for(let i of u){if(i===null)continue;let p=i instanceof HTMLElement?i:b(i);if(p!=null&&p.contains(s)||r.composed&&r.composedPath().includes(p))return}return!Ue(s,ke.Loose)&&s.tabIndex!==-1&&r.preventDefault(),n(r,s)}let a=O(null);be("mousedown",r=>{var l,s;o.value&&(a.value=((s=(l=r.composedPath)==null?void 0:l.call(r))==null?void 0:s[0])||r.target)},!0),be("click",r=>{!a.value||(t(r,()=>a.value),a.value=null)},!0),be("blur",r=>t(r,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var de=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(de||{});let Se=$({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:n,attrs:o}){return()=>{let{features:t,...a}=e,r={"aria-hidden":(t&2)===2?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(t&4)===4&&(t&2)!==2&&{display:"none"}}};return re({ourProps:r,theirProps:a,slot:{},attrs:o,slots:n,name:"Hidden"})}}});function Cn(e,n,o){ve.isServer||X(t=>{window.addEventListener(e,n,o),t(()=>window.removeEventListener(e,n,o))})}var H=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(H||{});function ze(){let e=O(0);return Cn("keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function $n(e,n,o,t){ve.isServer||X(a=>{e=e??window,e.addEventListener(n,o,t),a(()=>e.removeEventListener(n,o,t))})}var In=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(In||{});let Ge=Symbol("PopoverContext");function he(e){let n=pe(Ge,null);if(n===null){let o=new Error(`<${e} /> is missing a parent <${Je.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(o,he),o}return n}let We=Symbol("PopoverGroupContext");function Ke(){return pe(We,null)}let Ye=Symbol("PopoverPanelContext");function An(){return pe(Ye,null)}let Je=$({name:"Popover",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:n,attrs:o,expose:t}){var a;let r=O(null);t({el:r,$el:r});let l=O(1),s=O(null),u=O(null),i=O(null),p=O(null),f=P(()=>ue(r)),m=P(()=>{var c,S;if(!b(s)||!b(p))return!1;for(let Z of document.querySelectorAll("body > *"))if(Number(Z?.contains(b(s)))^Number(Z?.contains(b(p))))return!0;let x=me(),E=x.indexOf(b(s)),T=(E+x.length-1)%x.length,U=(E+1)%x.length,j=x[T],Q=x[U];return!((c=b(p))!=null&&c.contains(j))&&!((S=b(p))!=null&&S.contains(Q))}),h={popoverState:l,buttonId:O(null),panelId:O(null),panel:p,button:s,isPortalled:m,beforePanelSentinel:u,afterPanelSentinel:i,togglePopover(){l.value=V(l.value,{[0]:1,[1]:0})},closePopover(){l.value!==1&&(l.value=1)},close(c){h.closePopover();let S=(()=>c?c instanceof HTMLElement?c:c.value instanceof HTMLElement?b(c):b(h.button):b(h.button))();S?.focus()}};fe(Ge,h),wn(P(()=>V(l.value,{[0]:q.Open,[1]:q.Closed})));let y={buttonId:h.buttonId,panelId:h.panelId,close(){h.closePopover()}},g=Ke(),v=g?.registerPopover;function d(){var c,S,x,E;return(E=g?.isFocusWithinPopoverGroup())!=null?E:((c=f.value)==null?void 0:c.activeElement)&&(((S=b(s))==null?void 0:S.contains(f.value.activeElement))||((x=b(p))==null?void 0:x.contains(f.value.activeElement)))}return X(()=>v?.(y)),$n((a=f.value)==null?void 0:a.defaultView,"focus",c=>{var S,x;l.value===0&&(d()||!s||!p||c.target!==window&&((S=b(h.beforePanelSentinel))!=null&&S.contains(c.target)||(x=b(h.afterPanelSentinel))!=null&&x.contains(c.target)||h.closePopover()))},!0),Tn([s,p],(c,S)=>{var x;h.closePopover(),Ue(S,ke.Loose)||(c.preventDefault(),(x=b(s))==null||x.focus())},P(()=>l.value===0)),()=>{let c={open:l.value===0,close:h.close};return re({theirProps:e,ourProps:{ref:r},slot:c,slots:n,attrs:o,name:"Popover"})}}}),Nn=$({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-popover-button-${ne()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:o,expose:t}){let a=he("PopoverButton"),r=P(()=>ue(a.button));t({el:a.button,$el:a.button}),ie(()=>{a.buttonId.value=e.id}),Ne(()=>{a.buttonId.value=null});let l=Ke(),s=l?.closeOthers,u=An(),i=P(()=>u===null?!1:u.value===a.panelId.value),p=O(null),f=`headlessui-focus-sentinel-${ne()}`;i.value||X(()=>{a.button.value=p.value});let m=Sn(P(()=>({as:e.as,type:n.type})),p);function h(d){var c,S,x,E,T;if(i.value){if(a.popoverState.value===1)return;switch(d.key){case z.Space:case z.Enter:d.preventDefault(),(S=(c=d.target).click)==null||S.call(c),a.closePopover(),(x=b(a.button))==null||x.focus();break}}else switch(d.key){case z.Space:case z.Enter:d.preventDefault(),d.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover();break;case z.Escape:if(a.popoverState.value!==0)return s?.(a.buttonId.value);if(!b(a.button)||(E=r.value)!=null&&E.activeElement&&!((T=b(a.button))!=null&&T.contains(r.value.activeElement)))return;d.preventDefault(),d.stopPropagation(),a.closePopover();break}}function y(d){i.value||d.key===z.Space&&d.preventDefault()}function g(d){var c,S;e.disabled||(i.value?(a.closePopover(),(c=b(a.button))==null||c.focus()):(d.preventDefault(),d.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover(),(S=b(a.button))==null||S.focus()))}function v(d){d.preventDefault(),d.stopPropagation()}return()=>{let d=a.popoverState.value===0,c={open:d},{id:S,...x}=e,E=i.value?{ref:p,type:m.value,onKeydown:h,onClick:g}:{ref:p,id:S,type:m.value,"aria-expanded":e.disabled?void 0:a.popoverState.value===0,"aria-controls":b(a.panel)?a.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:h,onKeyup:y,onClick:g,onMousedown:v},T=ze();function U(){let j=b(a.panel);if(!j)return;function Q(){V(T.value,{[H.Forwards]:()=>Y(j,B.First),[H.Backwards]:()=>Y(j,B.Last)})===ce.Error&&Y(me().filter(Z=>Z.dataset.headlessuiFocusGuard!=="true"),V(T.value,{[H.Forwards]:B.Next,[H.Backwards]:B.Previous}),{relativeTo:b(a.button)})}Q()}return te(L,[re({ourProps:E,theirProps:{...n,...x},slot:c,attrs:n,slots:o,name:"PopoverButton"}),d&&!i.value&&a.isPortalled.value&&te(Se,{id:f,features:de.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:U})])}}});$({name:"PopoverOverlay",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},setup(e,{attrs:n,slots:o}){let t=he("PopoverOverlay"),a=`headlessui-popover-overlay-${ne()}`,r=Ve(),l=P(()=>r!==null?(r.value&q.Open)===q.Open:t.popoverState.value===0);function s(){t.closePopover()}return()=>{let u={open:t.popoverState.value===0};return re({ourProps:{id:a,"aria-hidden":!0,onClick:s},theirProps:e,slot:u,attrs:n,slots:o,features:se.RenderStrategy|se.Static,visible:l.value,name:"PopoverOverlay"})}}});let Mn=$({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-popover-panel-${ne()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:o,expose:t}){let{focus:a}=e,r=he("PopoverPanel"),l=P(()=>ue(r.panel)),s=`headlessui-focus-sentinel-before-${ne()}`,u=`headlessui-focus-sentinel-after-${ne()}`;t({el:r.panel,$el:r.panel}),ie(()=>{r.panelId.value=e.id}),Ne(()=>{r.panelId.value=null}),fe(Ye,r.panelId),X(()=>{var v,d;if(!a||r.popoverState.value!==0||!r.panel)return;let c=(v=l.value)==null?void 0:v.activeElement;(d=b(r.panel))!=null&&d.contains(c)||Y(b(r.panel),B.First)});let i=Ve(),p=P(()=>i!==null?(i.value&q.Open)===q.Open:r.popoverState.value===0);function f(v){var d,c;switch(v.key){case z.Escape:if(r.popoverState.value!==0||!b(r.panel)||l.value&&!((d=b(r.panel))!=null&&d.contains(l.value.activeElement)))return;v.preventDefault(),v.stopPropagation(),r.closePopover(),(c=b(r.button))==null||c.focus();break}}function m(v){var d,c,S,x,E;let T=v.relatedTarget;!T||!b(r.panel)||(d=b(r.panel))!=null&&d.contains(T)||(r.closePopover(),((S=(c=b(r.beforePanelSentinel))==null?void 0:c.contains)!=null&&S.call(c,T)||(E=(x=b(r.afterPanelSentinel))==null?void 0:x.contains)!=null&&E.call(x,T))&&T.focus({preventScroll:!0}))}let h=ze();function y(){let v=b(r.panel);if(!v)return;function d(){V(h.value,{[H.Forwards]:()=>{var c;Y(v,B.First)===ce.Error&&((c=b(r.afterPanelSentinel))==null||c.focus())},[H.Backwards]:()=>{var c;(c=b(r.button))==null||c.focus({preventScroll:!0})}})}d()}function g(){let v=b(r.panel);if(!v)return;function d(){V(h.value,{[H.Forwards]:()=>{let c=b(r.button),S=b(r.panel);if(!c)return;let x=me(),E=x.indexOf(c),T=x.slice(0,E+1),U=[...x.slice(E+1),...T];for(let j of U.slice())if(j.dataset.headlessuiFocusGuard==="true"||S?.contains(j)){let Q=U.indexOf(j);Q!==-1&&U.splice(Q,1)}Y(U,B.First,{sorted:!1})},[H.Backwards]:()=>{var c;Y(v,B.Previous)===ce.Error&&((c=b(r.button))==null||c.focus())}})}d()}return()=>{let v={open:r.popoverState.value===0,close:r.close},{id:d,focus:c,...S}=e,x={ref:r.panel,id:d,onKeydown:f,onFocusout:a&&r.popoverState.value===0?m:void 0,tabIndex:-1};return re({ourProps:x,theirProps:{...n,...S},attrs:n,slot:v,slots:{...o,default:(...E)=>{var T;return[te(L,[p.value&&r.isPortalled.value&&te(Se,{id:s,ref:r.beforePanelSentinel,features:de.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:y}),(T=o.default)==null?void 0:T.call(o,...E),p.value&&r.isPortalled.value&&te(Se,{id:u,ref:r.afterPanelSentinel,features:de.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:g})])]}},features:se.RenderStrategy|se.Static,visible:p.value,name:"PopoverPanel"})}}});$({name:"PopoverGroup",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:n,slots:o,expose:t}){let a=O(null),r=rt([]),l=P(()=>ue(a));t({el:a,$el:a});function s(f){let m=r.value.indexOf(f);m!==-1&&r.value.splice(m,1)}function u(f){return r.value.push(f),()=>{s(f)}}function i(){var f;let m=l.value;if(!m)return!1;let h=m.activeElement;return(f=b(a))!=null&&f.contains(h)?!0:r.value.some(y=>{var g,v;return((g=m.getElementById(y.buttonId.value))==null?void 0:g.contains(h))||((v=m.getElementById(y.panelId.value))==null?void 0:v.contains(h))})}function p(f){for(let m of r.value)m.buttonId.value!==f&&m.close()}return fe(We,{registerPopover:u,unregisterPopover:s,isFocusWithinPopoverGroup:i,closeOthers:p}),()=>re({ourProps:{ref:a},theirProps:e,slot:{},attrs:n,slots:o,name:"PopoverGroup"})}});const Fn=e=>{const n=P(()=>e.categoryTree.pictures?.[0]),o=P(()=>e.categoryTree.subcategories.filter(({subcategories:u})=>u.length)),t=P(()=>{let u=o.value.length;return n.value&&(u+=1),o.value.length<e.categoryTree.subcategories.length&&(u+=1),u}),a=P(()=>(e.megaMenuMaxCols||7)>=t.value),r=P(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:u})=>!u.length):e.categoryTree.subcategories),l=P(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:u})=>u.length):e.categoryTree.subcategories),s=P(()=>a.value?t.value:n.value?2:1);return{categoryPicture:n,isMegaMenu:a,subcategoryLinks:r,subcategoryCols:l,countMenuCols:s}},Ln=$({__name:"ShopHeaderSubmenu",props:{categoryTree:null},setup(e,{expose:n}){n();const o=e,{categoryPicture:t,subcategoryLinks:a,subcategoryCols:r,countMenuCols:l}=Fn(o),s={props:o,categoryPicture:t,subcategoryLinks:a,subcategoryCols:r,countMenuCols:l,get Popover(){return Je},get PopoverButton(){return Nn},get PopoverPanel(){return Mn}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),jn={class:"relative"},Dn={class:"flex gap-6 w-full"},Bn={key:0,class:"flex-1"},Hn=["href"],Rn=["href"],Vn={class:"text-sm text-base-600 mt-1 mb-1.5"},Un=["href"],zn=["href"];function Gn(e,n,o,t,a,r){const l=oe("AImg"),s=oe("Fade");return w(),F(t.Popover,null,{default:D(({open:u})=>[M(t.PopoverButton,{class:"outline-none"},{default:D(()=>[ae(e.$slots,"button",lt(st({open:u})))]),_:2},1024),_("div",jn,[M(s,null,{default:D(()=>[M(t.PopoverPanel,{class:C(["absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform px-6 py-4 rounded-md shadow bg-white text-base text-base-700",t.countMenuCols===1?"w-60":t.countMenuCols===2?`w-screen ${t.categoryPicture?"max-w-lg":"max-w-sm"}`:t.countMenuCols===3?`w-screen ${t.categoryPicture?"max-w-xl":"max-w-md"}`:t.countMenuCols<6?"w-screen max-w-3xl":"w-screen max-w-5xl"])},{default:D(()=>[_("div",Dn,[t.subcategoryLinks.length?(w(),k("ul",Bn,[(w(!0),k(L,null,J(t.subcategoryLinks,(i,p)=>(w(),k("li",{key:`link-${p}`,class:C(t.subcategoryLinks.length>10?"text-sm mb-1":"mb-2")},[_("a",{href:`/${i.slug}`,class:"hover:text-primary"},[_("h3",null,I(i.name),1)],8,Hn)],2))),128))])):R("",!0),(w(!0),k(L,null,J(t.subcategoryCols,(i,p)=>(w(),k("div",{key:i._id,class:"flex-1"},[_("a",{href:`/${i.slug}`,class:"hover:text-primary"},[_("h3",null,I(i.name),1)],8,Rn),_("ul",Vn,[(w(!0),k(L,null,J(i.subcategories,(f,m)=>(w(),k("li",{key:`${p}-${m}`,class:"mb-0.5"},[_("a",{href:`/${f.slug}`,class:"hover:text-primary hover:underline"},[_("h3",null,I(f.name),1)],8,Un)]))),128))])]))),128)),t.categoryPicture?(w(),k("div",{key:1,class:C(t.countMenuCols===2?"basis-1/2":t.countMenuCols<5?"basis-2/5":"basis-1/3")},[M(l,{picture:t.categoryPicture,class:"ml-auto rounded"},null,8,["picture"])],2)):R("",!0)]),_("a",{href:`/${o.categoryTree.slug}`,class:"block mt-1 text-xs text-base-600 leading-snug underline"},I("Ver toda a categoria $1".replace("$1",o.categoryTree.name)),9,zn)]),_:1},8,["class"])]),_:1})])]),_:3})}const Wn=G(Ln,[["render",Gn]]),Kn=$({__name:"ShopHeaderMenu",props:{inlineMenuTrees:null},setup(e,{expose:n}){n();const o=e,t=P(()=>!!o.inlineMenuTrees.find(({subcategories:r})=>!r.length)),a={props:o,hasOneLevelSubcategories:t,ShopHeaderSubmenu:Wn};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Yn={class:"hover:text-primary group"},Jn=["href"],qn={class:"inline"};function Xn(e,n,o,t,a,r){return w(),k("nav",null,[_("ul",{class:C(["flex gap-4 xl:gap-5 text-base-700",o.inlineMenuTrees.length<7?"text-base":"text-sm"])},[(w(!0),k(L,null,J(o.inlineMenuTrees,(l,s)=>(w(),k("li",{key:s},[l.subcategories.length?(w(),F(t.ShopHeaderSubmenu,{key:0,"category-tree":l},{button:D(({open:u})=>[_("span",Yn,[_("h3",{class:C(["group-hover:underline inline",[o.inlineMenuTrees.length<7?"decoration-2":null,u?"underline":null]])},I(l.name),3),t.hasOneLevelSubcategories?(w(),k("i",{key:0,class:C(["i-chevron-down ml-1 transition-transform text-base-400 group-hover:text-primary-subtle",u?"rotate-180":null])},null,2)):R("",!0)])]),_:2},1032,["category-tree"])):(w(),k("a",{key:1,href:`/${l.slug}`,class:"hover:text-primary hover:underline decoration-2"},[_("h3",qn,I(l.name),1)],8,Jn))]))),128))],2)])}const Qn=G(Kn,[["render",Xn]]),Zn=$({__name:"ShopHeader",props:{categories:null,menuCategorySlugs:null,menuRandomCategories:null,isAlphabeticalSortSubmenu:{type:Boolean}},setup(e,{expose:n}){n();const o=e,t=O(null),{isSticky:a,positionY:r,categoryTrees:l,inlineMenuTrees:s,isSidenavOpen:u}=bt({...o,header:t}),i={props:o,header:t,isSticky:a,positionY:r,categoryTrees:l,inlineMenuTrees:s,isSidenavOpen:u,Drawer:Ot,ShopSidenav:mn,ShopHeaderMenu:Qn};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),eo={class:"container lg:max-w-7xl mx-auto px-1 lg:pl-3 grid grid-flow-col grid-cols-3 justify-between items-center lg:grid-cols-none lg:auto-cols-max"},to={class:"lg:hidden"},no=ut('<div class="px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"><button aria-label="Buscar produtos"><i class="i-search w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"></i></button><button class="hidden sm:block" aria-label="Minha conta"><i class="i-account w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"></i></button><button aria-label="Abrir carrinho"><i class="i-shopping-cart w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"></i></button></div>',1);function oo(e,n,o,t,a,r){return w(),k("header",{ref:"header",class:C(["top-0 z-50 transition-colors",[t.isSticky&&!t.isSidenavOpen?"bg-white/80":"bg-white",t.isSticky?"backdrop-blur-md shadow py-2 md:py-3":"py-3 sm:py-4 md:py-5"]])},[_("div",eo,[_("div",to,[_("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=l=>t.isSidenavOpen=!t.isSidenavOpen)},[_("i",{class:C(["text-base-500 text-3xl",t.isSidenavOpen?"i-close":"i-menu"])},null,2)])]),ae(e.$slots,"logo"),M(t.ShopHeaderMenu,Ee({class:"hidden lg:block"},{inlineMenuTrees:t.inlineMenuTrees}),null,16),no]),M(t.Drawer,{modelValue:t.isSidenavOpen,"onUpdate:modelValue":n[1]||(n[1]=l=>t.isSidenavOpen=l),"has-close-button":!1,position:"absolute",class:"mt-3 -z-1",style:it({height:`calc(100vh - ${t.positionY}px + .5rem)`})},{default:D(()=>[M(t.ShopSidenav,Ee({class:"bg-white pt-6"},{categoryTrees:t.categoryTrees}),null,16)]),_:1},8,["modelValue","style"])],2)}const co=G(Zn,[["render",oo]]);export{co as default};
|