cloudcommerce 0.6.4 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/action.yml +57 -1
  3. package/package.json +1 -1
  4. package/packages/api/package.json +1 -1
  5. package/packages/apps/correios/package.json +1 -1
  6. package/packages/apps/custom-payment/package.json +1 -1
  7. package/packages/apps/custom-shipping/package.json +1 -1
  8. package/packages/apps/datafrete/package.json +1 -1
  9. package/packages/apps/discounts/package.json +1 -1
  10. package/packages/apps/emails/package.json +1 -1
  11. package/packages/apps/fb-conversions/package.json +1 -1
  12. package/packages/apps/frenet/package.json +1 -1
  13. package/packages/apps/galaxpay/package.json +1 -1
  14. package/packages/apps/google-analytics/package.json +1 -1
  15. package/packages/apps/infinitepay/package.json +1 -1
  16. package/packages/apps/jadlog/package.json +1 -1
  17. package/packages/apps/loyalty-points/package.json +1 -1
  18. package/packages/apps/melhor-envio/package.json +1 -1
  19. package/packages/apps/mercadopago/package.json +1 -1
  20. package/packages/apps/pagarme/package.json +1 -1
  21. package/packages/apps/paghiper/package.json +1 -1
  22. package/packages/apps/pix/package.json +1 -1
  23. package/packages/apps/tiny-erp/package.json +1 -1
  24. package/packages/apps/webhooks/package.json +1 -1
  25. package/packages/cli/lib/cli.js +1 -1
  26. package/packages/cli/package.json +1 -1
  27. package/packages/cli/src/cli.ts +1 -1
  28. package/packages/config/package.json +1 -1
  29. package/packages/emails/package.json +1 -1
  30. package/packages/events/package.json +1 -1
  31. package/packages/firebase/lib/config.d.ts +1 -1
  32. package/packages/firebase/lib/config.js +1 -1
  33. package/packages/firebase/lib/config.js.map +1 -1
  34. package/packages/firebase/package.json +1 -1
  35. package/packages/firebase/src/config.ts +1 -1
  36. package/packages/i18n/package.json +1 -1
  37. package/packages/modules/package.json +1 -1
  38. package/packages/passport/package.json +1 -1
  39. package/packages/ssr/package.json +1 -1
  40. package/packages/storefront/dist/client/_astro/PitchBar.96fed383.js +1 -0
  41. package/packages/storefront/dist/client/_astro/{Prices.2bd87845.js → Prices.036ad2b4.js} +1 -1
  42. package/packages/storefront/dist/client/_astro/{ProductCard.48f0f5ba.js → ProductCard.69751e12.js} +1 -1
  43. package/packages/storefront/dist/client/_astro/{ShopHeader.44e0873d.js → ShopHeader.4a8ce417.js} +2 -2
  44. package/packages/storefront/dist/client/_astro/{_...slug_.cd49465e.css → _...slug_.25a09a96.css} +1 -1
  45. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.be244611.js +1 -0
  46. package/packages/storefront/dist/client/_astro/client.bc16bf93.js +1 -0
  47. package/packages/storefront/dist/client/_astro/{format-money.060d67ef.js → format-money.e57ae2ab.js} +1 -1
  48. package/packages/storefront/dist/client/_astro/index.248ccd97.js +1 -0
  49. package/packages/storefront/dist/client/_astro/{modules-info.01f8d523.js → modules-info.8540ba60.js} +1 -1
  50. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.be3a98cd.js +1 -0
  51. package/packages/storefront/dist/client/_astro/server.1bc2fa51.css +1 -0
  52. package/packages/storefront/dist/client/sw.js +1 -1
  53. package/packages/storefront/dist/server/chunks/pages/{all.7f368e08.mjs → all.9ad006f8.mjs} +14 -6
  54. package/packages/storefront/dist/server/entry.mjs +20 -28
  55. package/packages/storefront/package.json +2 -2
  56. package/packages/storefront/src/lib/components/Carousel.vue +11 -26
  57. package/packages/storefront/src/lib/components/CarouselControl.vue +2 -1
  58. package/packages/storefront/src/lib/components/globals/AImg.vue +4 -2
  59. package/packages/storefront/src/lib/components/globals/Fade.vue +23 -18
  60. package/packages/types/package.json +1 -1
  61. package/packages/storefront/dist/client/_astro/PitchBar.b3636d56.js +0 -1
  62. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.43eaff51.js +0 -1
  63. package/packages/storefront/dist/client/_astro/client.14d15518.js +0 -1
  64. package/packages/storefront/dist/client/_astro/index.3243538d.js +0 -1
  65. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.cb4db78a.js +0 -1
  66. package/packages/storefront/dist/client/_astro/server.60de185d.css +0 -1
@@ -0,0 +1 @@
1
+ import{T,c as L,a as I}from"./runtime-dom.esm-bundler.be3a98cd.js";/* empty css */import{a7 as j,i as $,d as p,_ as y,c as u,k as B,w as C,o as _,p as E,a as k,z as O,A as x,G as g}from"./_plugin-vue_export-helper.be244611.js";import{f as H}from"./format-money.e57ae2ab.js";const P=(t,o=$.get("lang"))=>{if(typeof t=="object"&&t!==null){const e=Object.keys(t)[0];if(/^[a-z]{2}(_[a-z]{2})?$/.test(e))return t[o]||t[j]||t[e];{const s=Array.isArray(t)?[]:{};for(const r in t)t[r]!==void 0&&(s[r]=P(t[r],o));return s}}return t},N=P,W=(t,o,e)=>{if(e||(e=$.get("default_img_size")||"normal"),t){let{pictures:s,picture:r}=t;r||s||(Array.isArray(t)?s=t:r=t),Array.isArray(s)&&(r=o&&s.filter(i=>i._id===o)[0]||s[0]);let l;if(typeof r=="object"&&r!==null&&(l=r[e],!l)){let i;switch(e){case"small":i=["normal","big"];break;case"normal":i=["big","zoom","small"];break;case"big":i=["zoom","normal"];break;case"zoom":i=["big"];break;default:i=["big","zoom","normal","small"]}for(let a=0;a<i.length;a++){const f=i[a];if(r[f])return r[f]}for(const a in r)if(r[a]&&r[a].url)return r[a]}return l}},q=W,D=t=>{let o={width:0,height:0},e;return typeof t=="object"&&t!==null?e=t.size:e=t,typeof e=="string"&&e.split("x").forEach((s,r)=>{s=parseFloat(s),isNaN(s)||(o[r===0?"width":"height"]=s)}),o},G=D,M=p({__name:"Fade",props:{speed:{default:"default"},slide:null,isFloating:{type:Boolean,default:!1},isLeaveTo:{type:Boolean,default:!0},isEnterFrom:{type:Boolean,default:!0}},setup(t,{expose:o}){o();const e=t,s=u(()=>e.speed==="default"?"var(--transition, .2s linear)":`var(--transition-${e.speed}, .4s linear)`),r=u(()=>{switch(e.slide){case"down":return"translate3d(0, -100%, 0)";case"left":return"translate3d(-100%, 0, 0)";case"right":return"translate3d(100%, 0, 0)";case"up":return"translate3d(0, 100%, 0)";default:return"none"}}),l=u(()=>r.value!=="none"?.1:0),i=u(()=>e.isEnterFrom?l.value:1),a=u(()=>e.isLeaveTo?l.value:1),f=u(()=>e.isEnterFrom?r.value:"none"),v=u(()=>e.isLeaveTo?r.value:"none"),c=u(()=>e.slide==="down"||e.slide==="up"),h=u(()=>e.isFloating?null:c.value?0:"auto"),m=u(()=>e.isFloating?null:e.slide&&!c.value?0:"auto"),S=u(()=>e.isEnterFrom?h.value:"auto"),b=u(()=>e.isEnterFrom?m.value:"auto"),w=u(()=>{let n="opacity";return r.value!=="none"&&(n+=", transform"),h.value===0&&(n+=", height"),m.value===0&&(n+=", width"),n}),A={props:e,duration:s,transform:r,opacity:l,enterFromOpacity:i,leaveToOpacity:a,enterFromTransform:f,leaveToTransform:v,isSlideY:c,height:h,width:m,enterFromHeight:S,enterFromWidth:b,willChange:w,setInitialStyles:n=>{n.style.setProperty("--fade-will-change",w.value),n.style.setProperty("--fade-duration",s.value),n.style.setProperty("--fade-enter-opacity",String(i.value)),n.style.setProperty("--fade-enter-transform",String(f.value)),n.style.setProperty("--fade-enter-height",String(S.value)),n.style.setProperty("--fade-enter-width",String(b.value)),n.style.setProperty("--fade-leave-opacity",String(a.value)),n.style.setProperty("--fade-leave-transform",String(v.value))},onEnter:n=>{if(e.slide&&!e.isFloating&&e.isEnterFrom){c.value?(n.style.width=getComputedStyle(n).width,n.style.height="auto"):(n.style.width="auto",n.style.height=getComputedStyle(n).height),n.style.position="absolute",n.style.visibility="hidden";const{width:d,height:z}=getComputedStyle(n);n.style.width=c.value?null:"0",n.style.height=c.value?"0":null,n.style.position=null,n.style.visibility=null,getComputedStyle(n)[c.value?"height":"width"],requestAnimationFrame(()=>{c.value?n.style.height=z:n.style.width=d})}},onAfterEnter:n=>{e.slide&&!e.isFloating&&e.isEnterFrom&&(n.style[c.value?"height":"width"]=null)},onLeave:n=>{if(e.slide&&!e.isFloating&&e.isLeaveTo){c.value?n.style.height=getComputedStyle(n).height:n.style.width=getComputedStyle(n).width;const d=c.value?"height":"width";getComputedStyle(n)[d],requestAnimationFrame(()=>{n.style[d]="0"})}}};return Object.defineProperty(A,"__isScriptSetup",{enumerable:!1,value:!0}),A}});function R(t,o,e,s,r,l){return _(),B(T,{name:"sf-fade",onBeforeEnter:s.setInitialStyles,onEnter:s.onEnter,onBeforeLeave:s.setInitialStyles,onAfterEnter:s.onAfterEnter,onLeave:s.onLeave},{default:C(()=>[E(t.$slots,"default")]),_:3})}const U=y(M,[["render",R]]),Y=p({__name:"ALink",props:{href:null,target:null},setup(t,{expose:o}){o();const e=t,s=u(()=>{if(e.target)return e.target;if(e.href.startsWith("http")){const l=globalThis.storefront.settings.domain||window.location.host;if(e.href.startsWith(`https://${l}`))return null}return"_blank"}),r={props:e,linkTarget:s};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),J=["href","target","rel"];function K(t,o,e,s,r,l){return _(),k("a",{href:e.href,target:s.linkTarget,rel:s.linkTarget==="_blank"?"noopener":null},[E(t.$slots,"default")],8,J)}const Q=y(Y,[["render",K]]),V=p({__name:"AImg",props:{picture:null,loading:{default:"lazy"},decoding:null},setup(t,{expose:o}){o();const e=t,s=u(()=>e.picture.url?e.picture:q(e.picture)),r=u(()=>G(s.value)),l=u(()=>({...e,src:s.value.url,alt:s.value.alt,width:r.value.width||null,height:r.value.height||null,decoding:e.decoding||(r.value.height?"async":null),picture:null})),i={props:e,image:s,dimensions:r,attrs:l};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}});function X(t,o,e,s,r,l){return _(),k("img",O(x(s.attrs)),null,16)}const Z=y(V,[["render",X]]),ee=(t,o=1)=>Number.isInteger(t)?`${t}%`:`${t.toFixed(o)}%`,F=t=>{t.use({install:(o,e)=>{o.config.globalProperties.$t=(s,r)=>N(s,r||e?.lang),o.config.globalProperties.$money=H,o.config.globalProperties.$percentage=ee}}),t.component("Fade",U),t.component("ALink",Q),t.component("AImg",Z)},te=p({props:{value:String,name:String},setup({name:t,value:o}){return o?()=>g("astro-slot",{name:t,innerHTML:o}):()=>null}}),ce=t=>async(o,e,s,{client:r})=>{if(delete e.class,!t.hasAttribute("ssr"))return;const l=o.name?`${o.name} Host`:void 0,i={};for(const[a,f]of Object.entries(s))i[a]=()=>g(te,{value:f,name:a==="default"?void 0:a});if(r==="only"){const a=L({name:l,render:()=>g(o,e,i)});await F(a),a.mount(t,!1)}else{const a=I({name:l,render:()=>g(o,e,i)});await F(a),a.mount(t,!0)}};export{ce as default};
@@ -1 +1 @@
1
- import{i as n}from"./_plugin-vue_export-helper.43eaff51.js";const f=e=>{if(typeof e!="object"||e===null)return console.error(new Error("`product` must be an object")),!1;let r=e.price_effective_date;if(r){let t=new Date;if(r.start&&new Date(r.start)>t||r.end&&new Date(r.end)<t)return!1}return e.base_price>e.price},s=f,c=e=>s(e)?e.price:e?typeof e.final_price=="number"?e.final_price:Math.max(e.base_price||0,e.price||0):0,a=c,m=(e,r=n.get("currency"),t=n.get("lang"))=>{if(typeof e=="object"?e!==null&&(e=a(e)):typeof e=="string"&&(e=parseFloat(e)),r)try{return e.toLocaleString(t.replace("_","-"),{style:"currency",currency:r})}catch(i){console.error(i)}const o=(r||n.get("currency_symbol"))+" ";return typeof e=="number"?o+e:""},l=m;export{s as c,l as f,a as g};
1
+ import{i as n}from"./_plugin-vue_export-helper.be244611.js";const f=e=>{if(typeof e!="object"||e===null)return console.error(new Error("`product` must be an object")),!1;let r=e.price_effective_date;if(r){let t=new Date;if(r.start&&new Date(r.start)>t||r.end&&new Date(r.end)<t)return!1}return e.base_price>e.price},s=f,c=e=>s(e)?e.price:e?typeof e.final_price=="number"?e.final_price:Math.max(e.base_price||0,e.price||0):0,a=c,m=(e,r=n.get("currency"),t=n.get("lang"))=>{if(typeof e=="object"?e!==null&&(e=a(e)):typeof e=="string"&&(e=parseFloat(e)),r)try{return e.toLocaleString(t.replace("_","-"),{style:"currency",currency:r})}catch(i){console.error(i)}const o=(r||n.get("currency_symbol"))+" ";return typeof e=="number"?o+e:""},l=m;export{s as c,l as f,a as g};
@@ -0,0 +1 @@
1
+ import{W as U,c as E,j as b,X,Y as G,Z as Y,h as D,q}from"./_plugin-vue_export-helper.be244611.js";var H;const L=typeof window<"u",K=e=>typeof e=="string",y=()=>{};L&&((H=window?.navigator)!=null&&H.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function _(e){return typeof e=="function"?e():U(e)}function $(e,n){function t(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(o).catch(s)})}return t}function M(e,n={}){let t,r,o=y;const s=u=>{clearTimeout(u),o(),o=y};return u=>{const f=_(e),i=_(n.maxWait);return t&&s(t),f<=0||i!==void 0&&i<=0?(r&&(s(r),r=null),Promise.resolve(u())):new Promise((a,d)=>{o=n.rejectOnCancel?d:a,i&&!r&&(r=setTimeout(()=>{t&&s(t),r=null,a(u())},i)),t=setTimeout(()=>{r&&s(r),r=null,a(u())},f)})}}function Z(e,n=!0,t=!0,r=!1){let o=0,s,l=!0,u=y,f;const i=()=>{s&&(clearTimeout(s),s=void 0,u(),u=y)};return d=>{const p=_(e),w=Date.now()-o,T=()=>f=d();if(i(),p<=0)return o=Date.now(),T();if(w>p&&(t||!l))o=Date.now(),T();else if(n)return new Promise((O,m)=>{u=r?m:O,s=setTimeout(()=>{o=Date.now(),l=!0,O(T()),i()},p-w)});return!t&&!s&&(s=setTimeout(()=>l=!0,p)),l=!1,f}}function de(e,n=!1,t="Timeout"){return new Promise((r,o)=>{setTimeout(n?()=>o(t):r,e)})}function z(e){return e}function V(e){return G()?(Y(e),!0):!1}function J(e,n=200,t={}){return $(M(n,t),e)}function k(e,n=200,t=!1,r=!0,o=!1){return $(Z(n,t,r,o),e)}function ee(e,n,t={}){const{immediate:r=!0}=t,o=b(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function u(){o.value=!1,l()}function f(...i){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...i)},_(n))}return r&&(o.value=!0,L&&f()),V(u),{isPending:X(o),start:f,stop:u}}var te=Object.defineProperty,Q=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,W=(e,n,t)=>n in e?te(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,oe=(e,n)=>{for(var t in n||(n={}))ne.call(n,t)&&W(e,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&W(e,t,n[t]);return e};function me(e=1e3,n={}){const{controls:t=!1,callback:r}=n,o=ee(r??y,e,n),s=E(()=>!o.isPending.value);return t?oe({ready:s},o):s}function se(e){var n;const t=_(e);return(n=t?.$el)!=null?n:t}const ae=L?window:void 0;function I(...e){let n,t,r,o;if(K(e[0])||Array.isArray(e[0])?([t,r,o]=e,n=ae):[n,t,r,o]=e,!n)return y;Array.isArray(t)||(t=[t]),Array.isArray(r)||(r=[r]);const s=[],l=()=>{s.forEach(a=>a()),s.length=0},u=(a,d,p)=>(a.addEventListener(d,p,o),()=>a.removeEventListener(d,p,o)),f=q(()=>se(n),a=>{l(),a&&s.push(...t.flatMap(d=>r.map(p=>u(a,d,p))))},{immediate:!0,flush:"post"}),i=()=>{f(),l()};return V(i),i}const S=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},A="__vueuse_ssr_handlers__";S[A]=S[A]||{};S[A];function ve(e){const n=b(!1);return I(e,"mouseenter",()=>n.value=!0),I(e,"mouseleave",()=>n.value=!1),n}const j=1;function _e(e,n={}){const{throttle:t=0,idle:r=200,onStop:o=y,onScroll:s=y,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:f="auto"}=n,i=b(0),a=b(0),d=E({get(){return i.value},set(c){w(c,void 0)}}),p=E({get(){return a.value},set(c){w(void 0,c)}});function w(c,g){var h,v,C;const P=_(e);P&&((C=P instanceof Document?document.body:P)==null||C.scrollTo({top:(h=_(g))!=null?h:p.value,left:(v=_(c))!=null?v:d.value,behavior:_(f)}))}const T=b(!1),O=D({left:!0,right:!1,top:!0,bottom:!1}),m=D({left:!1,right:!1,top:!1,bottom:!1}),B=J(c=>{T.value=!1,m.left=!1,m.right=!1,m.top=!1,m.bottom=!1,o(c)},t+r),x=c=>{const g=c.target===document?c.target.documentElement:c.target,h=g.scrollLeft;m.left=h<i.value,m.right=h>a.value,O.left=h<=0+(l.left||0),O.right=h+g.clientWidth>=g.scrollWidth-(l.right||0)-j,i.value=h;let v=g.scrollTop;c.target===document&&!v&&(v=document.body.scrollTop),m.top=v<a.value,m.bottom=v>a.value,O.top=v<=0+(l.top||0),O.bottom=v+g.clientHeight>=g.scrollHeight-(l.bottom||0)-j,a.value=v,T.value=!0,B(c),s(c)};return I(e,"scroll",t?k(x,t,!0,!1):x,u),{x:d,y:p,isScrolling:T,arrivedState:O,directions:m}}var F;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(F||(F={}));var le=Object.defineProperty,N=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,R=(e,n,t)=>n in e?le(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,ce=(e,n)=>{for(var t in n||(n={}))ue.call(n,t)&&R(e,t,n[t]);if(N)for(var t of N(n))ie.call(n,t)&&R(e,t,n[t]);return e};const fe={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};ce({linear:z},fe);export{ve as a,J as b,me as c,de as p,_e as u};
@@ -1 +1 @@
1
- import{l as y,u as _}from"./session-utm.72684b84.js";import{i as g}from"./idle-callback.889bf0ea.js";import{h as b,c as d}from"./_plugin-vue_export-helper.43eaff51.js";import{f as v}from"./format-money.060d67ef.js";const I=(o,a,l=1e4)=>{let n,r;l&&(n=new AbortController,r=setTimeout(()=>{n.abort()},l)),a?.body&&typeof a.body=="object"&&(a.body=JSON.stringify(a.body),a.headers={...a.headers,"Content-Type":"application/json","Content-Length":a.body.length.toString()});const i=fetch(o,{...a,signal:n?.signal});return i.finally(()=>{r&&clearTimeout(r)}),i},O={list_payments:{},calculate_shipping:{},apply_discount:{}},p=b(O);y.then(o=>{Object.assign(p,o)});{const o="MODULES_INFO",a=sessionStorage.getItem(o);if(a)try{const n=JSON.parse(a);n.__timestamp>=Date.now()-1e3*60*5?(delete n.__timestamp,Object.assign(p,n)):sessionStorage.removeItem(o)}catch{sessionStorage.removeItem(o)}g(()=>{const n=[];["list_payments","calculate_shipping"].forEach(r=>{Object.keys(p[r]).length||n.push({modName:r})}),Object.keys(_).length&&n.push({modName:"apply_discount",reqOptions:{method:"post",body:{utm:_}}}),n.forEach(({modName:r,reqOptions:i})=>{I(`/api/modules/${r}`,i).then(async f=>{if(f.ok){const s={};p[r]=s;const{result:u}=await f.json();Array.isArray(u)&&u.forEach(({error:h,response:c})=>{if(!h){let e,t;switch(r){case"calculate_shipping":e="free_shipping_from_value",t=c[e],typeof t=="number"&&(s[e]===void 0||t<s[e])&&(s[e]=t);break;case"list_payments":e="installments_option",t=c[e],t&&(!s[e]||t.monthly_interest<s[e].monthly_interest||t.max_number>s[e].max_number)&&(s[e]=t),e="discount_option",t=c[e],t&&(!s[e]||t.value>s[e].value)&&c.payment_gateways.forEach(({discount:m})=>{m&&m.apply_at!=="freight"&&m.value===t.value&&(s[e]={apply_at:m.apply_at,...t})}),e="loyalty_points_programs",t=c[e],t&&(s[e]={...s[e],...t});break;default:e="available_extra_discount",t=c[e],t&&(!s[e]||t.value>s[e].value)&&(s[e]=t)}}}),sessionStorage.setItem(o,JSON.stringify({...p,__timestamp:Date.now()}))}}).catch(console.error)})})}const S=(o,a,l,n=v)=>d(()=>{const r=`{${l}}`,i=o.indexOf(r);if(i>-1){const f=p[a][l];if(f){const s=n(f);return o.substring(0,i)+s+o.substring(i+r.length)}return""}return o}),C=o=>S(o,"calculate_shipping","free_shipping_from_value");export{p as m,C as p};
1
+ import{l as y,u as _}from"./session-utm.72684b84.js";import{i as g}from"./idle-callback.889bf0ea.js";import{h as b,c as d}from"./_plugin-vue_export-helper.be244611.js";import{f as v}from"./format-money.e57ae2ab.js";const I=(o,a,l=1e4)=>{let n,r;l&&(n=new AbortController,r=setTimeout(()=>{n.abort()},l)),a?.body&&typeof a.body=="object"&&(a.body=JSON.stringify(a.body),a.headers={...a.headers,"Content-Type":"application/json","Content-Length":a.body.length.toString()});const i=fetch(o,{...a,signal:n?.signal});return i.finally(()=>{r&&clearTimeout(r)}),i},O={list_payments:{},calculate_shipping:{},apply_discount:{}},p=b(O);y.then(o=>{Object.assign(p,o)});{const o="MODULES_INFO",a=sessionStorage.getItem(o);if(a)try{const n=JSON.parse(a);n.__timestamp>=Date.now()-1e3*60*5?(delete n.__timestamp,Object.assign(p,n)):sessionStorage.removeItem(o)}catch{sessionStorage.removeItem(o)}g(()=>{const n=[];["list_payments","calculate_shipping"].forEach(r=>{Object.keys(p[r]).length||n.push({modName:r})}),Object.keys(_).length&&n.push({modName:"apply_discount",reqOptions:{method:"post",body:{utm:_}}}),n.forEach(({modName:r,reqOptions:i})=>{I(`/api/modules/${r}`,i).then(async f=>{if(f.ok){const s={};p[r]=s;const{result:u}=await f.json();Array.isArray(u)&&u.forEach(({error:h,response:c})=>{if(!h){let e,t;switch(r){case"calculate_shipping":e="free_shipping_from_value",t=c[e],typeof t=="number"&&(s[e]===void 0||t<s[e])&&(s[e]=t);break;case"list_payments":e="installments_option",t=c[e],t&&(!s[e]||t.monthly_interest<s[e].monthly_interest||t.max_number>s[e].max_number)&&(s[e]=t),e="discount_option",t=c[e],t&&(!s[e]||t.value>s[e].value)&&c.payment_gateways.forEach(({discount:m})=>{m&&m.apply_at!=="freight"&&m.value===t.value&&(s[e]={apply_at:m.apply_at,...t})}),e="loyalty_points_programs",t=c[e],t&&(s[e]={...s[e],...t});break;default:e="available_extra_discount",t=c[e],t&&(!s[e]||t.value>s[e].value)&&(s[e]=t)}}}),sessionStorage.setItem(o,JSON.stringify({...p,__timestamp:Date.now()}))}}).catch(console.error)})})}const S=(o,a,l,n=v)=>d(()=>{const r=`{${l}}`,i=o.indexOf(r);if(i>-1){const f=p[a][l];if(f){const s=n(f);return o.substring(0,i)+s+o.substring(i+r.length)}return""}return o}),C=o=>S(o,"calculate_shipping","free_shipping_from_value");export{p as m,C as p};
@@ -0,0 +1 @@
1
+ import{D as tt,E as _,G as mt,H as et,I as $,J as gt,K as vt,L as ht,M as D,N as Ct,O as St,P as bt,Q as nt,R as Et,S as Tt,T as At,U as st,V as Nt}from"./_plugin-vue_export-helper.be244611.js";const Lt="http://www.w3.org/2000/svg",b=typeof document<"u"?document:null,q=b&&b.createElement("template"),_t={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const r=e?b.createElementNS(Lt,t):b.createElement(t,n?{is:n}:void 0);return t==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:t=>b.createTextNode(t),createComment:t=>b.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>b.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,r,i){const a=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{q.innerHTML=s?`<svg>${t}</svg>`:t;const f=q.content;if(s){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}e.insertBefore(f,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function Dt(t,e,n){const s=t._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function It(t,e,n){const s=t.style,r=_(n);if(n&&!r){if(e&&!_(e))for(const i in e)n[i]==null&&O(s,i,"");for(const i in n)O(s,i,n[i])}else{const i=s.display;r?e!==n&&(s.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(s.display=i)}}const W=/\s*!important$/;function O(t,e,n){if(D(n))n.forEach(s=>O(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=Mt(t,e);W.test(n)?t.setProperty(nt(s),n.replace(W,""),"important"):t[s]=n}}const j=["Webkit","Moz","ms"],M={};function Mt(t,e){const n=M[e];if(n)return n;let s=Et(e);if(s!=="filter"&&s in t)return M[e]=s;s=Tt(s);for(let r=0;r<j.length;r++){const i=j[r]+s;if(i in t)return M[e]=i}return e}const U="http://www.w3.org/1999/xlink";function Pt(t,e,n,s,r){if(s&&e.startsWith("xlink:"))n==null?t.removeAttributeNS(U,e.slice(6,e.length)):t.setAttributeNS(U,e,n);else{const i=At(e);n==null||i&&!st(n)?t.removeAttribute(e):t.setAttribute(e,i?"":n)}}function wt(t,e,n,s,r,i,a){if(e==="innerHTML"||e==="textContent"){s&&a(s,r,i),t[e]=n??"";return}if(e==="value"&&t.tagName!=="PROGRESS"&&!t.tagName.includes("-")){t._value=n;const c=n??"";(t.value!==c||t.tagName==="OPTION")&&(t.value=c),n==null&&t.removeAttribute(e);return}let f=!1;if(n===""||n==null){const c=typeof t[e];c==="boolean"?n=st(n):n==null&&c==="string"?(n="",f=!0):c==="number"&&(n=0,f=!0)}try{t[e]=n}catch{}f&&t.removeAttribute(e)}function Ot(t,e,n,s){t.addEventListener(e,n,s)}function $t(t,e,n,s){t.removeEventListener(e,n,s)}function Rt(t,e,n,s,r=null){const i=t._vei||(t._vei={}),a=i[e];if(s&&a)a.value=s;else{const[f,c]=Ht(e);if(s){const p=i[e]=Ft(s,r);Ot(t,f,p,c)}else a&&($t(t,f,a,c),i[e]=void 0)}}const G=/(?:Once|Passive|Capture)$/;function Ht(t){let e;if(G.test(t)){e={};let s;for(;s=t.match(G);)t=t.slice(0,t.length-s[0].length),e[s[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):nt(t.slice(2)),e]}let P=0;const xt=Promise.resolve(),Bt=()=>P||(xt.then(()=>P=0),P=Date.now());function Ft(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Nt(yt(s,n.value),e,5,[s])};return n.value=t,n.attached=Bt(),n}function yt(t,e){if(D(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const J=/^on[a-z]/,zt=(t,e,n,s,r=!1,i,a,f,c)=>{e==="class"?Dt(t,s,r):e==="style"?It(t,n,s):St(e)?bt(e)||Rt(t,e,n,s,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kt(t,e,s,r))?wt(t,e,s,i,a,f,c):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),Pt(t,e,s,r))};function Kt(t,e,n,s){return s?!!(e==="innerHTML"||e==="textContent"||e in t&&J.test(e)&&tt(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||J.test(e)&&_(n)?!1:e in t}const g="transition",A="animation",rt=(t,{slots:e})=>mt(et,qt(t),e);rt.displayName="Transition";const it={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rt.props=$({},et.props,it);const C=(t,e=[])=>{D(t)?t.forEach(n=>n(...e)):t&&t(...e)},Q=t=>t?D(t)?t.some(e=>e.length>1):t.length>1:!1;function qt(t){const e={};for(const o in t)o in it||(e[o]=t[o]);if(t.css===!1)return e;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:p=a,appearToClass:l=f,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=t,T=Wt(r),ct=T&&T[0],ft=T&&T[1],{onBeforeEnter:R,onEnter:H,onEnterCancelled:x,onLeave:B,onLeaveCancelled:lt,onBeforeAppear:ut=R,onAppear:pt=H,onAppearCancelled:dt=x}=e,I=(o,u,h)=>{S(o,u?l:f),S(o,u?p:a),h&&h()},F=(o,u)=>{o._isLeaving=!1,S(o,d),S(o,E),S(o,m),u&&u()},y=o=>(u,h)=>{const z=o?pt:H,K=()=>I(u,o,h);C(z,[u,K]),X(()=>{S(u,o?c:i),v(u,o?l:f),Q(z)||Y(u,s,ct,K)})};return $(e,{onBeforeEnter(o){C(R,[o]),v(o,i),v(o,a)},onBeforeAppear(o){C(ut,[o]),v(o,c),v(o,p)},onEnter:y(!1),onAppear:y(!0),onLeave(o,u){o._isLeaving=!0;const h=()=>F(o,u);v(o,d),Gt(),v(o,m),X(()=>{o._isLeaving&&(S(o,d),v(o,E),Q(B)||Y(o,s,ft,h))}),C(B,[o,h])},onEnterCancelled(o){I(o,!1),C(x,[o])},onAppearCancelled(o){I(o,!0),C(dt,[o])},onLeaveCancelled(o){F(o),C(lt,[o])}})}function Wt(t){if(t==null)return null;if(gt(t))return[w(t.enter),w(t.leave)];{const e=w(t);return[e,e]}}function w(t){return Ct(t)}function v(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function S(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.remove(s));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function X(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let jt=0;function Y(t,e,n,s){const r=t._endId=++jt,i=()=>{r===t._endId&&s()};if(n)return setTimeout(i,n);const{type:a,timeout:f,propCount:c}=Ut(t,e);if(!a)return s();const p=a+"end";let l=0;const d=()=>{t.removeEventListener(p,m),i()},m=E=>{E.target===t&&++l>=c&&d()};setTimeout(()=>{l<c&&d()},f+1),t.addEventListener(p,m)}function Ut(t,e){const n=window.getComputedStyle(t),s=T=>(n[T]||"").split(", "),r=s(`${g}Delay`),i=s(`${g}Duration`),a=Z(r,i),f=s(`${A}Delay`),c=s(`${A}Duration`),p=Z(f,c);let l=null,d=0,m=0;e===g?a>0&&(l=g,d=a,m=i.length):e===A?p>0&&(l=A,d=p,m=c.length):(d=Math.max(a,p),l=d>0?a>p?g:A:null,m=l?l===g?i.length:c.length:0);const E=l===g&&/\b(transform|all)(,|$)/.test(s(`${g}Property`).toString());return{type:l,timeout:d,propCount:m,hasTransform:E}}function Z(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,s)=>V(n)+V(t[s])))}function V(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function Gt(){return document.body.offsetHeight}const Jt=["ctrl","shift","alt","meta"],Qt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Jt.some(n=>t[`${n}Key`]&&!e.includes(n))},Vt=(t,e)=>(n,...s)=>{for(let r=0;r<e.length;r++){const i=Qt[e[r]];if(i&&i(n,e))return}return t(n,...s)},kt={beforeMount(t,{value:e},{transition:n}){t._vod=t.style.display==="none"?"":t.style.display,n&&e?n.beforeEnter(t):N(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:s}){!e!=!n&&(s?e?(s.beforeEnter(t),N(t,!0),s.enter(t)):s.leave(t,()=>{N(t,!1)}):N(t,e))},beforeUnmount(t,{value:e}){N(t,e)}};function N(t,e){t.style.display=e?t._vod:"none"}const ot=$({patchProp:zt},_t);let L,k=!1;function Xt(){return L||(L=vt(ot))}function Yt(){return L=k?L:ht(ot),k=!0,L}const te=(...t)=>{const e=Xt().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=at(s);if(!r)return;const i=e._component;!tt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},ee=(...t)=>{const e=Yt().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=at(s);if(r)return n(r,!0,r instanceof SVGElement)},e};function at(t){return _(t)?document.querySelector(t):t}export{rt as T,ee as a,te as c,kt as v,Vt as w};
@@ -0,0 +1 @@
1
+ [class*=sf-fade-]{will-change:var(--fade-will-change);transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.sf-fade-enter-active,.sf-fade-leave-active{transition:opacity var(--fade-duration),transform var(--fade-duration),height var(--fade-duration),width var(--fade-duration);overflow:hidden}.sf-fade-enter-from{opacity:var(--fade-enter-opacity);transform:var(--fade-enter-transform);height:var(--fade-enter-height);width:var(--fade-enter-width)}.sf-fade-leave-to{opacity:var(--fade-leave-opacity);transform:var(--fade-leave-transform)}
@@ -1 +1 @@
1
- if(!self.define){let e,s={};const r=(r,n)=>(r=new URL(r+".js",n).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(n,i)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const a=e=>r(e,o),u={module:{uri:o},exports:l,require:a};s[o]=Promise.all(n.map((e=>u[e]||a(e)))).then((e=>(i(...e),l)))}}define(["./workbox-e2ee76b5"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"_astro/_...slug_.cd49465e.css",revision:null},{url:"_astro/_plugin-vue_export-helper.43eaff51.js",revision:null},{url:"_astro/client.14d15518.js",revision:null},{url:"_astro/firebase-app.7ce2ebb1.js",revision:null},{url:"_astro/format-money.060d67ef.js",revision:null},{url:"_astro/hoisted.721ad75d.js",revision:null},{url:"_astro/idle-callback.889bf0ea.js",revision:null},{url:"_astro/index.0c833781.css",revision:null},{url:"_astro/index.3243538d.js",revision:null},{url:"_astro/modules-info.01f8d523.js",revision:null},{url:"_astro/PitchBar.b3636d56.js",revision:null},{url:"_astro/preload-helper.101896b7.js",revision:null},{url:"_astro/Prices.2bd87845.js",revision:null},{url:"_astro/ProductCard.48f0f5ba.js",revision:null},{url:"_astro/runtime-dom.esm-bundler.cb4db78a.js",revision:null},{url:"_astro/server.60de185d.css",revision:null},{url:"_astro/session-utm.72684b84.js",revision:null},{url:"_astro/ShopHeader.44e0873d.js",revision:null},{url:"_astro/workbox-window.prod.es5.295a6886.js",revision:null},{url:"img/uploads/large-icon.png",revision:"0b35db516cfa7475b1c2f8c081e8d54d"},{url:"manifest.webmanifest",revision:"6a858866b0560997f368e27ab5418e15"}],{ignoreURLParametersMatching:[/.*/]}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/404"))),e.registerRoute(/^\/$/,new e.NetworkFirst,"GET"),e.registerRoute(/\/((?!(?:admin|assets|img)(\/|$))[^.]+)(\.(?!js|css|xml|txt|png|jpg|jpeg|webp|avif|svg|gif)[^.]+)*$/,new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/assets\//,new e.StaleWhileRevalidate({cacheName:"assets",plugins:[]}),"GET"),e.registerRoute(/^\/_image$/,new e.StaleWhileRevalidate({cacheName:"sharp-images",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/img\/uploads\/.*\.(?:png|jpg|jpeg|webp|avif|svg|gif)$/,new e.StaleWhileRevalidate({cacheName:"cms-images",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/ecomplus\.io/,new e.NetworkFirst({cacheName:"store-api",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/normal\//,new e.CacheFirst({cacheName:"product-thumbnails",plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/big\//,new e.CacheFirst({cacheName:"product-pictures",plugins:[new e.ExpirationPlugin({maxEntries:10,maxAgeSeconds:604800,purgeOnQuotaError:!0})]}),"GET")}));
1
+ if(!self.define){let e,s={};const r=(r,n)=>(r=new URL(r+".js",n).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(n,i)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let a={};const l=e=>r(e,o),u={module:{uri:o},exports:a,require:l};s[o]=Promise.all(n.map((e=>u[e]||l(e)))).then((e=>(i(...e),a)))}}define(["./workbox-e2ee76b5"],(function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"_astro/_...slug_.25a09a96.css",revision:null},{url:"_astro/_plugin-vue_export-helper.be244611.js",revision:null},{url:"_astro/client.bc16bf93.js",revision:null},{url:"_astro/firebase-app.7ce2ebb1.js",revision:null},{url:"_astro/format-money.e57ae2ab.js",revision:null},{url:"_astro/hoisted.721ad75d.js",revision:null},{url:"_astro/idle-callback.889bf0ea.js",revision:null},{url:"_astro/index.0c833781.css",revision:null},{url:"_astro/index.248ccd97.js",revision:null},{url:"_astro/modules-info.8540ba60.js",revision:null},{url:"_astro/PitchBar.96fed383.js",revision:null},{url:"_astro/preload-helper.101896b7.js",revision:null},{url:"_astro/Prices.036ad2b4.js",revision:null},{url:"_astro/ProductCard.69751e12.js",revision:null},{url:"_astro/runtime-dom.esm-bundler.be3a98cd.js",revision:null},{url:"_astro/server.1bc2fa51.css",revision:null},{url:"_astro/session-utm.72684b84.js",revision:null},{url:"_astro/ShopHeader.4a8ce417.js",revision:null},{url:"_astro/workbox-window.prod.es5.295a6886.js",revision:null},{url:"img/uploads/large-icon.png",revision:"0b35db516cfa7475b1c2f8c081e8d54d"},{url:"manifest.webmanifest",revision:"6a858866b0560997f368e27ab5418e15"}],{ignoreURLParametersMatching:[/.*/]}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/404"))),e.registerRoute(/^\/$/,new e.NetworkFirst,"GET"),e.registerRoute(/\/((?!(?:admin|assets|img)(\/|$))[^.]+)(\.(?!js|css|xml|txt|png|jpg|jpeg|webp|avif|svg|gif)[^.]+)*$/,new e.NetworkFirst({cacheName:"pages",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/assets\//,new e.StaleWhileRevalidate({cacheName:"assets",plugins:[]}),"GET"),e.registerRoute(/^\/_image$/,new e.StaleWhileRevalidate({cacheName:"sharp-images",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^\/img\/uploads\/.*\.(?:png|jpg|jpeg|webp|avif|svg|gif)$/,new e.StaleWhileRevalidate({cacheName:"cms-images",plugins:[new e.ExpirationPlugin({maxEntries:20,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/ecomplus\.io/,new e.NetworkFirst({cacheName:"store-api",plugins:[new e.ExpirationPlugin({maxEntries:50,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/normal\//,new e.CacheFirst({cacheName:"product-thumbnails",plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:2592e3,purgeOnQuotaError:!0})]}),"GET"),e.registerRoute(/^https:\/\/(((\w+\.)?ecoms\d)|(ecom[\w-]+(\.\w+)*\.digitaloceanspaces))\.com.*\/imgs\/big\//,new e.CacheFirst({cacheName:"product-pictures",plugins:[new e.ExpirationPlugin({maxEntries:10,maxAgeSeconds:604800,purgeOnQuotaError:!0})]}),"GET")}));
@@ -1079,8 +1079,8 @@ function _sfc_ssrRender$c(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1079
1079
  _push(`<button${ssrRenderAttrs(mergeProps({
1080
1080
  type: "button",
1081
1081
  "aria-label": $props.direction > 0 ? "Pr\xF3ximo" : "Anterior",
1082
- "data-carousel-control": $props.direction > 0 ? "next" : "previous",
1083
- class: "group"
1082
+ class: ["group absolute top-0", $props.direction > 0 ? "right-0" : "left-0"],
1083
+ "data-carousel-control": $props.direction > 0 ? "next" : "previous"
1084
1084
  }, _attrs))}>`);
1085
1085
  ssrRenderSlot(_ctx.$slots, "default", {}, () => {
1086
1086
  _push(`<i class="${ssrRenderClass([$props.direction > 0 ? "i-chevron-right group-active:translate-x-1" : "i-chevron-left group-active:-translate-x-1", "m-0"])}"></i>`);
@@ -1210,7 +1210,10 @@ const _sfc_main$b = defineComponent({
1210
1210
  calcCurrentIndex();
1211
1211
  calcIndexCount();
1212
1212
  };
1213
- const onResize = useDebounceFn(calcOnInit, 400);
1213
+ const onResize = useDebounceFn(() => {
1214
+ wrapper.value.scrollLeft = 0;
1215
+ calcOnInit();
1216
+ }, 400);
1214
1217
  onMounted(() => {
1215
1218
  calcOnInit();
1216
1219
  });
@@ -1235,10 +1238,12 @@ const _sfc_main$b = defineComponent({
1235
1238
  function _sfc_ssrRender$b(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
1236
1239
  _push(`<div${ssrRenderAttrs(mergeProps({
1237
1240
  ref: "carousel",
1241
+ class: "relative",
1238
1242
  "data-carousel": ""
1239
1243
  }, _attrs))}>`);
1240
1244
  ssrRenderVNode(_push, createVNode(resolveDynamicComponent($props.as), {
1241
1245
  ref: "wrapper",
1246
+ class: "flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0",
1242
1247
  "data-carousel-wrapper": ""
1243
1248
  }, {
1244
1249
  default: withCtx((_, _push2, _parent2, _scopeId) => {
@@ -1343,7 +1348,7 @@ function _sfc_ssrRender$a(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1343
1348
  if (_push2) {
1344
1349
  _push2(`<!--[-->`);
1345
1350
  ssrRenderList($props.slides, (slide, i) => {
1346
- _push2(`<li${_scopeId}>`);
1351
+ _push2(`<li class="shrink-0 basis-full h-full text-center"${_scopeId}>`);
1347
1352
  ssrRenderVNode(_push2, createVNode(resolveDynamicComponent(slide.href ? "ALink" : "span"), {
1348
1353
  href: slide.href,
1349
1354
  target: slide.target,
@@ -1374,7 +1379,10 @@ function _sfc_ssrRender$a(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1374
1379
  } else {
1375
1380
  return [
1376
1381
  (openBlock(true), createBlock(Fragment$1, null, renderList($props.slides, (slide, i) => {
1377
- return openBlock(), createBlock("li", { key: i }, [
1382
+ return openBlock(), createBlock("li", {
1383
+ key: i,
1384
+ class: "shrink-0 basis-full h-full text-center"
1385
+ }, [
1378
1386
  (openBlock(), createBlock(resolveDynamicComponent(slide.href ? "ALink" : "span"), {
1379
1387
  href: slide.href,
1380
1388
  target: slide.target,
@@ -2485,7 +2493,7 @@ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
2485
2493
  "onUpdate:modelValue": ($event) => $setup.isSidenavOpen = $event,
2486
2494
  "has-close-button": false,
2487
2495
  position: "absolute",
2488
- class: "mt-3 -z-1",
2496
+ class: ["-z-1", $setup.isSticky ? "mt-2 md:mt-3" : "mt-3 sm:mt-4 md:mt-5"],
2489
2497
  style: { height: `calc(100vh - ${$setup.positionY}px + .5rem)` }
2490
2498
  }, {
2491
2499
  default: withCtx((_, _push2, _parent2, _scopeId) => {
@@ -11,10 +11,10 @@ import fs from 'fs';
11
11
  import http from 'http';
12
12
  import send from 'send';
13
13
  import enableDestroy from 'server-destroy';
14
- import { defineComponent, useCssVars, unref, computed, useSSRContext, mergeProps, h as h$2, createSSRApp } from 'vue';
14
+ import { defineComponent, computed, useSSRContext, mergeProps, h as h$2, createSSRApp } from 'vue';
15
15
  import { ssrRenderSlotInner, ssrRenderAttrs, ssrRenderSlot, renderToString } from 'vue/server-renderer';
16
16
  import { img, imgSizes, i18n, formatMoney } from '@ecomplus/utils';
17
- /* empty css */import { _ as _export_sfc, a as _page0, b as _page1, c as _page2, d as _page3, e as _page4, f as _page5 } from './chunks/pages/all.7f368e08.mjs';
17
+ /* empty css */import { _ as _export_sfc, a as _page0, b as _page1, c as _page2, d as _page3, e as _page4, f as _page5 } from './chunks/pages/all.9ad006f8.mjs';
18
18
  import 'path-to-regexp';
19
19
  import 'tls';
20
20
  import 'mime';
@@ -3137,16 +3137,6 @@ const _sfc_main$2 = defineComponent({
3137
3137
  setup(__props, { expose }) {
3138
3138
  expose();
3139
3139
  const props = __props;
3140
- useCssVars((_ctx) => ({
3141
- "68e3b484": unref(willChange),
3142
- "17a22876": unref(duration),
3143
- "bc2eb02a": unref(enterFromOpacity),
3144
- "da7ab968": unref(enterFromTransform),
3145
- "43026547": unref(enterFromHeight),
3146
- "6e5955a6": unref(enterFromWidth),
3147
- "6f10697b": unref(leaveToOpacity),
3148
- "95ff7e48": unref(leaveToTransform)
3149
- }));
3150
3140
  const duration = computed(() => {
3151
3141
  if (props.speed === "default")
3152
3142
  return "var(--transition, .2s linear)";
@@ -3210,6 +3200,16 @@ const _sfc_main$2 = defineComponent({
3210
3200
  properties += ", width";
3211
3201
  return properties;
3212
3202
  });
3203
+ const setInitialStyles = (el) => {
3204
+ el.style.setProperty("--fade-will-change", willChange.value);
3205
+ el.style.setProperty("--fade-duration", duration.value);
3206
+ el.style.setProperty("--fade-enter-opacity", String(enterFromOpacity.value));
3207
+ el.style.setProperty("--fade-enter-transform", String(enterFromTransform.value));
3208
+ el.style.setProperty("--fade-enter-height", String(enterFromHeight.value));
3209
+ el.style.setProperty("--fade-enter-width", String(enterFromWidth.value));
3210
+ el.style.setProperty("--fade-leave-opacity", String(leaveToOpacity.value));
3211
+ el.style.setProperty("--fade-leave-transform", String(leaveToTransform.value));
3212
+ };
3213
3213
  const onEnter = (el) => {
3214
3214
  if (props.slide && !props.isFloating && props.isEnterFrom) {
3215
3215
  if (isSlideY.value) {
@@ -3255,22 +3255,12 @@ const _sfc_main$2 = defineComponent({
3255
3255
  });
3256
3256
  }
3257
3257
  };
3258
- const __returned__ = { props, duration, transform, opacity, enterFromOpacity, leaveToOpacity, enterFromTransform, leaveToTransform, isSlideY, height, width, enterFromHeight, enterFromWidth, willChange, onEnter, onAfterEnter, onLeave };
3258
+ const __returned__ = { props, duration, transform, opacity, enterFromOpacity, leaveToOpacity, enterFromTransform, leaveToTransform, isSlideY, height, width, enterFromHeight, enterFromWidth, willChange, setInitialStyles, onEnter, onAfterEnter, onLeave };
3259
3259
  Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
3260
3260
  return __returned__;
3261
3261
  }
3262
3262
  });
3263
3263
  function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
3264
- ({ style: {
3265
- "--68e3b484": $setup.willChange,
3266
- "--17a22876": $setup.duration,
3267
- "--bc2eb02a": $setup.enterFromOpacity,
3268
- "--da7ab968": $setup.enterFromTransform,
3269
- "--43026547": $setup.enterFromHeight,
3270
- "--6e5955a6": $setup.enterFromWidth,
3271
- "--6f10697b": $setup.leaveToOpacity,
3272
- "--95ff7e48": $setup.leaveToTransform
3273
- } });
3274
3264
  ssrRenderSlotInner(_ctx.$slots, "default", {}, null, _push, _parent, null, true);
3275
3265
  }
3276
3266
  const _sfc_setup$2 = _sfc_main$2.setup;
@@ -3279,7 +3269,7 @@ _sfc_main$2.setup = (props, ctx) => {
3279
3269
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/globals/Fade.vue");
3280
3270
  return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
3281
3271
  };
3282
- const Fade = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender$2], ["__scopeId", "data-v-d3912920"]]);
3272
+ const Fade = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender$2]]);
3283
3273
 
3284
3274
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
3285
3275
  __name: "ALink",
@@ -3326,7 +3316,8 @@ const _sfc_main = defineComponent({
3326
3316
  __name: "AImg",
3327
3317
  props: {
3328
3318
  picture: null,
3329
- loading: { default: "lazy" }
3319
+ loading: { default: "lazy" },
3320
+ decoding: null
3330
3321
  },
3331
3322
  setup(__props, { expose }) {
3332
3323
  expose();
@@ -3342,10 +3333,11 @@ const _sfc_main = defineComponent({
3342
3333
  });
3343
3334
  const attrs = computed(() => ({
3344
3335
  ...props,
3345
- width: dimensions.value.width || null,
3346
- height: dimensions.value.height || null,
3347
3336
  src: image.value.url,
3348
3337
  alt: image.value.alt,
3338
+ width: dimensions.value.width || null,
3339
+ height: dimensions.value.height || null,
3340
+ decoding: props.decoding || (dimensions.value.height ? "async" : null),
3349
3341
  picture: null
3350
3342
  }));
3351
3343
  const __returned__ = { props, image, dimensions, attrs };
@@ -3423,7 +3415,7 @@ const _renderer1 = {
3423
3415
  const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.15.0_astro@2.0.14+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js", _page0],["src/pages/index.astro", _page1],["src/pages/fallback.astro", _page2],["src/pages/app/index.astro", _page3],["src/pages/app/account.astro", _page4],["src/pages/[...slug].astro", _page5],]);
3424
3416
  const renderers = [Object.assign({"name":"astro:jsx","serverEntrypoint":"astro/jsx/server.js","jsxImportSource":"astro"}, { ssr: server_default }),Object.assign({"name":"@astrojs/vue","clientEntrypoint":"@astrojs/vue/client.js","serverEntrypoint":"@astrojs/vue/server.js"}, { ssr: _renderer1 }),];
3425
3417
 
3426
- const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.15.0_astro@2.0.14+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.cd49465e.css","_astro/index.0c833781.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.cd49465e.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/fallback","type":"page","pattern":"^\\/fallback\\/?$","segments":[[{"content":"fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/fallback.astro","pathname":"/fallback","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.cd49465e.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","_meta":{"trailingSlash":"ignore"}}}],"site":"https://ecom2-002.web.app","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true,"contentDir":"file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/content/"},"pageMap":null,"propagation":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseBody.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/scripts/InlineScripts.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Image.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/ssr/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Pages.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Home.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/account.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Wildcard.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro","in-tree"]],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","~/components/Prices.vue":"_astro/Prices.2bd87845.js","@astrojs/vue/client.js":"_astro/client.14d15518.js","/astro/hoisted.js?q=0":"_astro/hoisted.721ad75d.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.295a6886.js","~/components/PitchBar.vue":"_astro/PitchBar.b3636d56.js","@@sf/components/ProductCard.vue":"_astro/ProductCard.48f0f5ba.js","~/components/ShopHeader.vue":"_astro/ShopHeader.44e0873d.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.7ce2ebb1.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.0c833781.css","/_astro/server.60de185d.css","/_astro/_...slug_.cd49465e.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e2ee76b5.js","/_astro/PitchBar.b3636d56.js","/_astro/Prices.2bd87845.js","/_astro/ProductCard.48f0f5ba.js","/_astro/ShopHeader.44e0873d.js","/_astro/_plugin-vue_export-helper.43eaff51.js","/_astro/client.14d15518.js","/_astro/firebase-app.7ce2ebb1.js","/_astro/format-money.060d67ef.js","/_astro/hoisted.721ad75d.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.3243538d.js","/_astro/modules-info.01f8d523.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.cb4db78a.js","/_astro/session-utm.72684b84.js","/_astro/workbox-window.prod.es5.295a6886.js","/admin/config.json","/assets/cms-preview.css","/assets/cms.css","/assets/cvv.png","/assets/img-placeholder.png","/assets/payments.png","/assets/ssl-safe.png","/img/icon.png","/img/large-icon.png","/img/uploads/banner1.png","/img/uploads/banner2.png","/img/uploads/banner2.webp","/img/uploads/favicon.png","/img/uploads/headless.png","/img/uploads/headphone.png","/img/uploads/headphone.webp","/img/uploads/icon.png","/img/uploads/large-icon.png","/img/uploads/logo.png","/img/uploads/logo.webp","/img/uploads/og-image.png","/img/uploads/passion.png","/img/uploads/passion.webp","/img/uploads/pwa-reliable.png","/img/uploads/rect8589.png","/img/uploads/rect859.png","/img/uploads/rect89.png","/img/uploads/rect89.webp","/img/uploads/ssl-safe.png","/assets/icons/bootstrap-icons/font/storefront-icons.woff2","/assets/icons/feather-icons/font/storefront-icons.woff2","/assets/icons/font-awesome/font/storefront-icons.woff2","/assets/icons/line-awesome/font/storefront-icons.woff2","/assets/icons/tabler-icons/font/storefront-icons.woff2"]}), {
3418
+ const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.15.0_astro@2.0.14+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.25a09a96.css","_astro/index.0c833781.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.25a09a96.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/fallback","type":"page","pattern":"^\\/fallback\\/?$","segments":[[{"content":"fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/fallback.astro","pathname":"/fallback","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.25a09a96.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","_meta":{"trailingSlash":"ignore"}}}],"site":"https://ecom2-002.web.app","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true,"contentDir":"file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/content/"},"pageMap":null,"propagation":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseBody.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/scripts/InlineScripts.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Image.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/ssr/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Pages.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Home.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/account.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Wildcard.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro","in-tree"]],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","~/components/Prices.vue":"_astro/Prices.036ad2b4.js","@@sf/components/ProductCard.vue":"_astro/ProductCard.69751e12.js","~/components/PitchBar.vue":"_astro/PitchBar.96fed383.js","/astro/hoisted.js?q=0":"_astro/hoisted.721ad75d.js","@astrojs/vue/client.js":"_astro/client.bc16bf93.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.295a6886.js","~/components/ShopHeader.vue":"_astro/ShopHeader.4a8ce417.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.7ce2ebb1.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.0c833781.css","/_astro/server.1bc2fa51.css","/_astro/_...slug_.25a09a96.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e2ee76b5.js","/_astro/PitchBar.96fed383.js","/_astro/Prices.036ad2b4.js","/_astro/ProductCard.69751e12.js","/_astro/ShopHeader.4a8ce417.js","/_astro/_plugin-vue_export-helper.be244611.js","/_astro/client.bc16bf93.js","/_astro/firebase-app.7ce2ebb1.js","/_astro/format-money.e57ae2ab.js","/_astro/hoisted.721ad75d.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.248ccd97.js","/_astro/modules-info.8540ba60.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.be3a98cd.js","/_astro/session-utm.72684b84.js","/_astro/workbox-window.prod.es5.295a6886.js","/admin/config.json","/assets/cms-preview.css","/assets/cms.css","/assets/cvv.png","/assets/img-placeholder.png","/assets/payments.png","/assets/ssl-safe.png","/img/icon.png","/img/large-icon.png","/img/uploads/banner1.png","/img/uploads/banner2.png","/img/uploads/banner2.webp","/img/uploads/favicon.png","/img/uploads/headless.png","/img/uploads/headphone.png","/img/uploads/headphone.webp","/img/uploads/icon.png","/img/uploads/large-icon.png","/img/uploads/logo.png","/img/uploads/logo.webp","/img/uploads/og-image.png","/img/uploads/passion.png","/img/uploads/passion.webp","/img/uploads/pwa-reliable.png","/img/uploads/rect8589.png","/img/uploads/rect859.png","/img/uploads/rect89.png","/img/uploads/rect89.webp","/img/uploads/ssl-safe.png","/assets/icons/bootstrap-icons/font/storefront-icons.woff2","/assets/icons/feather-icons/font/storefront-icons.woff2","/assets/icons/font-awesome/font/storefront-icons.woff2","/assets/icons/line-awesome/font/storefront-icons.woff2","/assets/icons/tabler-icons/font/storefront-icons.woff2"]}), {
3427
3419
  pageMap: pageMap,
3428
3420
  renderers: renderers
3429
3421
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.6.4",
4
+ "version": "0.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -49,7 +49,7 @@
49
49
  "semver": "^7.3.8",
50
50
  "sharp": "^0.31.3",
51
51
  "tailwindcss": "^3.2.7",
52
- "unocss": "^0.49.7",
52
+ "unocss": "^0.50.0",
53
53
  "vite": "^4.1.3",
54
54
  "vite-plugin-pwa": "^0.14.4",
55
55
  "vue": "^3.2.47"
@@ -133,7 +133,10 @@ const calcOnInit = () => {
133
133
  calcCurrentIndex();
134
134
  calcIndexCount();
135
135
  };
136
- const onResize = useDebounceFn(calcOnInit, 400);
136
+ const onResize = useDebounceFn(() => {
137
+ wrapper.value.scrollLeft = 0;
138
+ calcOnInit();
139
+ }, 400);
137
140
  onMounted(() => {
138
141
  calcOnInit();
139
142
  if (!import.meta.env.SSR) {
@@ -161,8 +164,13 @@ provide(carouselKey, {
161
164
  </script>
162
165
 
163
166
  <template>
164
- <div ref="carousel" data-carousel>
165
- <component :is="as" ref="wrapper" data-carousel-wrapper>
167
+ <div ref="carousel" class="relative" data-carousel>
168
+ <component
169
+ :is="as"
170
+ ref="wrapper"
171
+ class="flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0"
172
+ data-carousel-wrapper
173
+ >
166
174
  <slot />
167
175
  </component>
168
176
  <!-- @slot Slot for Arrows -->
@@ -187,44 +195,21 @@ provide(carouselKey, {
187
195
  </template>
188
196
 
189
197
  <style>
190
- [data-carousel] {
191
- position: relative;
192
- }
193
198
  [data-carousel-wrapper] {
194
- display: flex;
195
- overflow-x: scroll;
196
- overflow-y: hidden;
197
199
  scroll-snap-type: x mandatory;
198
200
  scroll-behavior: smooth;
199
201
  scrollbar-width: none;
200
202
  -webkit-overflow-scrolling: touch;
201
203
  -ms-overflow-style: none;
202
- list-style: none;
203
- margin: 0;
204
- padding: 0;
205
204
  }
206
205
  [data-carousel-wrapper]::-webkit-scrollbar {
207
206
  display: none;
208
207
  }
209
208
  [data-carousel-wrapper] > * {
210
- flex: 0 0 100%;
211
- height: 100%;
212
209
  scroll-snap-align: start;
213
- display: flex;
214
- justify-content: center;
215
- align-items: center;
216
210
  outline: none;
217
211
  }
218
212
  [data-carousel-control] {
219
- position: absolute;
220
- top: 0;
221
- bottom: 0;
222
213
  z-index: 1;
223
214
  }
224
- [data-carousel-control=previous] {
225
- left: 0;
226
- }
227
- [data-carousel-control=next] {
228
- right: 0;
229
- }
230
215
  </style>
@@ -17,8 +17,9 @@ const { changeSlide } = inject(carouselKey);
17
17
  type="button"
18
18
  :aria-label="direction > 0 ? $t.i19next : $t.i19previous"
19
19
  @click="changeSlide(direction)"
20
+ class="group absolute top-0"
21
+ :class="direction > 0 ? 'right-0' : 'left-0'"
20
22
  :data-carousel-control="direction > 0 ? 'next' : 'previous'"
21
- class="group"
22
23
  >
23
24
  <slot>
24
25
  <i
@@ -24,6 +24,7 @@ export interface Props {
24
24
  tag?: string;
25
25
  };
26
26
  loading?: 'lazy' | 'eager';
27
+ decoding?: 'async' | 'sync' | 'auto';
27
28
  }
28
29
 
29
30
  const props = withDefaults(defineProps<Props>(), {
@@ -40,10 +41,11 @@ const dimensions = computed(() => {
40
41
  });
41
42
  const attrs = computed<ImgHTMLAttributes>(() => ({
42
43
  ...props,
43
- width: dimensions.value.width || null,
44
- height: dimensions.value.height || null,
45
44
  src: image.value.url,
46
45
  alt: image.value.alt,
46
+ width: dimensions.value.width || null,
47
+ height: dimensions.value.height || null,
48
+ decoding: props.decoding || (dimensions.value.height ? 'async' : null),
47
49
  picture: null,
48
50
  }));
49
51
  </script>
@@ -72,6 +72,16 @@ const willChange = computed(() => {
72
72
  if (width.value === 0) properties += ', width';
73
73
  return properties;
74
74
  });
75
+ const setInitialStyles = (el: HTMLElement) => {
76
+ el.style.setProperty('--fade-will-change', willChange.value);
77
+ el.style.setProperty('--fade-duration', duration.value);
78
+ el.style.setProperty('--fade-enter-opacity', String(enterFromOpacity.value));
79
+ el.style.setProperty('--fade-enter-transform', String(enterFromTransform.value));
80
+ el.style.setProperty('--fade-enter-height', String(enterFromHeight.value));
81
+ el.style.setProperty('--fade-enter-width', String(enterFromWidth.value));
82
+ el.style.setProperty('--fade-leave-opacity', String(leaveToOpacity.value));
83
+ el.style.setProperty('--fade-leave-transform', String(leaveToTransform.value));
84
+ };
75
85
  const onEnter = (el: HTMLElement) => {
76
86
  if (props.slide && !props.isFloating && props.isEnterFrom) {
77
87
  if (isSlideY.value) {
@@ -126,7 +136,9 @@ const onLeave = (el: HTMLElement) => {
126
136
  <template>
127
137
  <Transition
128
138
  name="sf-fade"
139
+ @before-enter="setInitialStyles"
129
140
  @enter="onEnter"
141
+ @before-leave="setInitialStyles"
130
142
  @after-enter="onAfterEnter"
131
143
  @leave="onLeave"
132
144
  >
@@ -135,33 +147,26 @@ const onLeave = (el: HTMLElement) => {
135
147
  </template>
136
148
 
137
149
  <style>
138
- .sf-fade-enter-active,
139
- .sf-fade-leave-active {
140
- transition: opacity var(--duration), transform var(--duration),
141
- height var(--duration), width var(--duration);
142
- overflow: hidden;
143
- }
144
- </style>
145
-
146
- <style scoped>
147
- * {
148
- will-change: v-bind(willChange);
150
+ [class*="sf-fade-"] {
151
+ will-change: var(--fade-will-change);
149
152
  transform: translateZ(0);
150
153
  backface-visibility: hidden;
151
154
  perspective: 1000px;
152
155
  }
153
156
  .sf-fade-enter-active,
154
157
  .sf-fade-leave-active {
155
- --duration: v-bind(duration);
158
+ transition: opacity var(--fade-duration), transform var(--fade-duration),
159
+ height var(--fade-duration), width var(--fade-duration);
160
+ overflow: hidden;
156
161
  }
157
162
  .sf-fade-enter-from {
158
- opacity: v-bind(enterFromOpacity);
159
- transform: v-bind(enterFromTransform);
160
- height: v-bind(enterFromHeight);
161
- width: v-bind(enterFromWidth);
163
+ opacity: var(--fade-enter-opacity);
164
+ transform: var(--fade-enter-transform);
165
+ height: var(--fade-enter-height);
166
+ width: var(--fade-enter-width);
162
167
  }
163
168
  .sf-fade-leave-to {
164
- opacity: v-bind(leaveToOpacity);
165
- transform: v-bind(leaveToTransform);
169
+ opacity: var(--fade-leave-opacity);
170
+ transform: var(--fade-leave-transform);
166
171
  }
167
172
  </style>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.6.4",
4
+ "version": "0.6.5",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -1 +0,0 @@
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};