cloudcommerce 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.github/renovate.json +1 -1
  2. package/CHANGELOG.md +25 -0
  3. package/action.yml +1 -2
  4. package/package.json +7 -7
  5. package/packages/api/package.json +1 -1
  6. package/packages/apps/correios/package.json +1 -1
  7. package/packages/apps/custom-payment/package.json +1 -1
  8. package/packages/apps/custom-shipping/package.json +1 -1
  9. package/packages/apps/datafrete/package.json +1 -1
  10. package/packages/apps/discounts/package.json +1 -1
  11. package/packages/apps/emails/package.json +1 -1
  12. package/packages/apps/fb-conversions/package.json +1 -1
  13. package/packages/apps/frenet/package.json +1 -1
  14. package/packages/apps/galaxpay/package.json +1 -1
  15. package/packages/apps/google-analytics/package.json +1 -1
  16. package/packages/apps/infinitepay/package.json +1 -1
  17. package/packages/apps/jadlog/package.json +1 -1
  18. package/packages/apps/loyalty-points/package.json +1 -1
  19. package/packages/apps/melhor-envio/package.json +1 -1
  20. package/packages/apps/mercadopago/package.json +1 -1
  21. package/packages/apps/pagarme/package.json +2 -2
  22. package/packages/apps/paghiper/package.json +1 -1
  23. package/packages/apps/pix/package.json +1 -1
  24. package/packages/apps/tiny-erp/package.json +1 -1
  25. package/packages/apps/webhooks/package.json +3 -3
  26. package/packages/cli/package.json +1 -1
  27. package/packages/config/package.json +1 -1
  28. package/packages/emails/package.json +1 -1
  29. package/packages/events/package.json +1 -1
  30. package/packages/firebase/package.json +1 -1
  31. package/packages/i18n/package.json +1 -1
  32. package/packages/modules/lib/firebase/checkout.js +4 -1
  33. package/packages/modules/lib/firebase/checkout.js.map +1 -1
  34. package/packages/modules/package.json +1 -1
  35. package/packages/modules/src/firebase/checkout.ts +4 -1
  36. package/packages/passport/package.json +1 -1
  37. package/packages/ssr/package.json +3 -3
  38. package/packages/storefront/config/storefront.cms.cjs +31 -5
  39. package/packages/storefront/config/storefront.cms.mjs +31 -5
  40. package/packages/storefront/dist/client/_astro/PitchBar.df2672ff.js +1 -0
  41. package/packages/storefront/dist/client/_astro/Prices.99fa99bf.js +1 -0
  42. package/packages/storefront/dist/client/_astro/ProductCard.a322c854.js +1 -0
  43. package/packages/storefront/dist/client/_astro/ShopHeader.abd6dec6.js +1 -0
  44. package/packages/storefront/dist/client/_astro/_...slug_.648728f3.css +1 -0
  45. package/packages/storefront/dist/client/_astro/{runtime-core.esm-bundler.a0432a8e.js → _plugin-vue_export-helper.e6f0b936.js} +1 -1
  46. package/packages/storefront/dist/client/_astro/client.e6b58b55.js +1 -0
  47. package/packages/storefront/dist/client/_astro/index.5dd878ac.js +1 -0
  48. package/packages/storefront/dist/client/_astro/modules-info.e8935203.js +1 -0
  49. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.e8b26f2c.js +1 -0
  50. package/packages/storefront/dist/client/fallback/index.html +8 -8
  51. package/packages/storefront/dist/client/sw.js +1 -1
  52. package/packages/storefront/dist/server/chunks/{astro.0f5b754a.mjs → astro.7d9d5f6e.mjs} +100 -38
  53. package/packages/storefront/dist/server/chunks/pages/{all.671e6bc1.mjs → all.ba8f4b85.mjs} +766 -660
  54. package/packages/storefront/dist/server/chunks/{prerender.fd8cdc24.mjs → prerender.8cd4ad42.mjs} +0 -0
  55. package/packages/storefront/dist/server/entry.mjs +98 -46
  56. package/packages/storefront/package.json +8 -8
  57. package/packages/storefront/src/lib/assets/base.css +6 -0
  58. package/packages/storefront/src/lib/cms.d.ts +25 -0
  59. package/packages/storefront/src/lib/components/Drawer.vue +1 -1
  60. package/packages/storefront/src/lib/composables/use-shop-header.ts +79 -0
  61. package/packages/storefront/src/lib/layouts/Base.astro +4 -5
  62. package/packages/storefront/src/lib/layouts/BaseHead.astro +7 -7
  63. package/packages/storefront/src/lib/layouts/PagesHeader.astro +5 -23
  64. package/packages/storefront/src/lib/ssr-context.ts +3 -4
  65. package/packages/storefront/src/lib/state/modules-info.ts +1 -1
  66. package/packages/storefront/tailwind.config.cjs +0 -4
  67. package/packages/types/index.ts +7 -0
  68. package/packages/types/package.json +1 -1
  69. package/pnpm-workspace.yaml +3 -3
  70. package/packages/storefront/dist/client/_astro/PitchBar.004b6ea4.js +0 -1
  71. package/packages/storefront/dist/client/_astro/Prices.f311909a.js +0 -1
  72. package/packages/storefront/dist/client/_astro/Prices.vue_vue_type_script_setup_true_lang.ef47de70.js +0 -1
  73. package/packages/storefront/dist/client/_astro/ProductCard.34de5097.js +0 -1
  74. package/packages/storefront/dist/client/_astro/ShopHeader.cbfee289.js +0 -1
  75. package/packages/storefront/dist/client/_astro/_...slug_.bcc33d9d.css +0 -1
  76. package/packages/storefront/dist/client/_astro/client.56d86c9b.js +0 -1
  77. package/packages/storefront/dist/client/_astro/index.2d12be6c.js +0 -1
  78. package/packages/storefront/dist/client/_astro/modules-info.0debb0b0.js +0 -1
  79. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.0e5774ce.js +0 -1
  80. package/packages/storefront/src/lib/components/ShopHeader.vue +0 -111
  81. package/packages/storefront/src/lib/components/ShopSidenav.vue +0 -26
  82. package/packages/storefront/src/lib/types/cms-code.d.ts +0 -5
  83. package/packages/storefront/src/lib/types/cms-contacts.d.ts +0 -5
  84. package/packages/storefront/src/lib/types/cms-header.d.ts +0 -5
  85. package/packages/storefront/src/lib/types/cms-settings.d.ts +0 -8
  86. package/packages/storefront/src/lib/types/cms-social.d.ts +0 -5
@@ -1,5 +1,4 @@
1
1
  ---
2
- import type CmsSocial from '@@sf/types/cms-social';
3
2
  import type { PageContext } from '@@sf/ssr-context';
4
3
  import { pwaInfo } from 'virtual:pwa-info';
5
4
  import { img as getImg } from '@ecomplus/utils';
@@ -33,7 +32,7 @@ const favicon = settings.icon
33
32
  })).src
34
33
  : '/favicon.ico';
35
34
  const canonicalUrl = new URL(Astro.url.pathname, Astro.site || `https://${domain}`);
36
- const cmsSocial = cms('social') as CmsSocial;
35
+ const cmsMetatags = await cms('metatags');
37
36
  const ogLocale = lang.length === 2 ? lang : lang.substring(0, 2) + lang.slice(3).toUpperCase();
38
37
  let ogImage: string | undefined;
39
38
  if (apiDoc) {
@@ -41,9 +40,9 @@ if (apiDoc) {
41
40
  ogImage = picture && picture.url;
42
41
  }
43
42
  if (!ogImage) {
44
- if (cmsSocial.og_image) {
45
- ogImage = cmsSocial.og_image.charAt(0) === '/'
46
- ? `https://${domain}${cmsSocial.og_image}` : cmsSocial.og_image;
43
+ if (cmsMetatags?.og_image) {
44
+ ogImage = cmsMetatags.og_image.charAt(0) === '/'
45
+ ? `https://${domain}${cmsMetatags.og_image}` : cmsMetatags.og_image;
47
46
  }
48
47
  } else {
49
48
  ogImage = ogImage.replace(/(\w+\.)?(ecoms\d)\.com/i, '$2-nyc3.nyc3.cdn.digitaloceanspaces.com');
@@ -69,9 +68,10 @@ if (!ogImage) {
69
68
  <meta property="og:type" content="website">
70
69
  <meta property="og:locale" content={ogLocale}>
71
70
  {ogImage && <meta property="og:image" content={ogImage} />}
72
- {cmsSocial.fb_app_id && <meta property="fb:app_id" content={cmsSocial.fb_app_id} />}
71
+ {cmsMetatags?.fb_app_id && <meta property="fb:app_id" content={cmsMetatags.fb_app_id} />}
73
72
  <meta name="twitter:card" content="summary">
74
- {cmsSocial.twitter_username && <meta name="twitter:site" content={cmsSocial.twitter_username} />}
73
+ {cmsMetatags?.twitter_username &&
74
+ <meta name="twitter:site" content={cmsMetatags.twitter_username} />}
75
75
  <meta name="ecom-store-id" content={String(storeId)}>
76
76
  {pwaInfo && <Fragment set:html={pwaInfo.webManifest.linkTag} />}
77
77
  <script>
@@ -1,9 +1,7 @@
1
1
  ---
2
- import type CmsHeader from '@@sf/types/cms-header';
3
2
  import type { PageContext } from '@@sf/ssr-context';
4
- import Picture from '@@sf/ssr/Picture.astro';
5
3
  import PitchBar, { type Props as PitchBarProps } from '~/components/PitchBar.vue';
6
- import ShopHeader, { type Props as ShopHeaderProps } from '@@sf/components/ShopHeader.vue';
4
+ import ShopHeader, { type Props as ShopHeaderProps } from '~/components/ShopHeader.vue';
7
5
 
8
6
  export interface Props {
9
7
  pageContext: PageContext;
@@ -14,20 +12,13 @@ const {
14
12
  pageContext: {
15
13
  isHomepage,
16
14
  apiState,
17
- settings,
18
15
  cms,
19
16
  },
20
17
  } = Astro.props as Props;
21
- const header = cms('header') as CmsHeader &
22
- { marketing_stripe?: { text: string, link: string }, logo?: string };
18
+ const cmsHeader = await cms('header');
23
19
  const pitchBar: PitchBarProps = { slides: [] };
24
- if (header.pitch_bar) {
25
- pitchBar.slides = header.pitch_bar;
26
- } else if (header.marketing_stripe) {
27
- pitchBar.slides = [{
28
- href: header.marketing_stripe.link,
29
- html: header.marketing_stripe.text,
30
- }];
20
+ if (cmsHeader?.pitch_bar) {
21
+ pitchBar.slides = cmsHeader.pitch_bar;
31
22
  }
32
23
  const shopHeader: ShopHeaderProps = {
33
24
  categories: apiState.categories,
@@ -46,16 +37,7 @@ const LogoHeading = Astro.props.logoHeading || (isHomepage ? 'h1' : 'h2');
46
37
  <slot name="logo">
47
38
  <a href="/">
48
39
  <LogoHeading>
49
- <slot name="logo-picture">
50
- <Picture
51
- src={header.logo || settings.logo}
52
- alt={settings.name}
53
- widths={[300]}
54
- sizes="150px"
55
- fetchpriority="high"
56
- class="hover:drop-shadow-sm"
57
- />
58
- </slot>
40
+ <slot name="logo-picture" />
59
41
  </LogoHeading>
60
42
  </a>
61
43
  </slot>
@@ -1,7 +1,7 @@
1
1
  import type { AstroGlobal } from 'astro';
2
2
  import type { BaseConfig } from '@cloudcommerce/config';
3
3
  import type { CategoriesList, BrandsList } from '@cloudcommerce/api/types';
4
- import type CmsSettings from './types/cms-settings';
4
+ import type { CMS, CmsSettings } from './cms';
5
5
  import { EventEmitter } from 'node:events';
6
6
  import api, { ApiError, ApiEndpoint } from '@cloudcommerce/api';
7
7
  import _getConfig from '../../storefront.config.mjs';
@@ -18,8 +18,7 @@ type StorefrontConfig = {
18
18
  settings: CmsSettings,
19
19
  dirContent: string,
20
20
  // eslint-disable-next-line no-unused-vars
21
- cms: <T extends string>(filename: T) => T extends `${string}/`
22
- ? Array<string> : Record<string, any>,
21
+ cms: CMS,
23
22
  };
24
23
 
25
24
  const emitter = new EventEmitter();
@@ -88,7 +87,7 @@ const loadPageContext = async (Astro: AstroGlobal, {
88
87
  ];
89
88
  if (slug) {
90
89
  if (cmsCollection) {
91
- cmsContent = config.cms(`${cmsCollection}/${slug}`);
90
+ cmsContent = await config.cms(`${cmsCollection}/${slug}`);
92
91
  } else {
93
92
  apiFetchings[0] = api.get(`slugs/${slug}`, apiOptions);
94
93
  }
@@ -156,7 +156,7 @@ const parsePhrase = <T extends keyof typeof modulesInfo>(
156
156
  formatValue: (x: any) => string = formatMoney,
157
157
  ) => {
158
158
  return computed(() => {
159
- const searchString = `{{${varName}}}`;
159
+ const searchString = `{${varName}}`;
160
160
  const index = phrase.indexOf(searchString);
161
161
  if (index > -1) {
162
162
  const fieldValue = modulesInfo[modName][varName];
@@ -40,10 +40,6 @@ let defaultThemeOptions = {
40
40
  iconAliases: {
41
41
  'shopping-cart': 'shopping-bag',
42
42
  cashback: 'arrow-uturn-left',
43
- 'chevron-right': 'chevron-right',
44
- 'chevron-left': 'chevron-left',
45
- 'chevron-up': 'chevron-up',
46
- 'chevron-down': 'chevron-down',
47
43
  menu: 'bars-3-bottom-left',
48
44
  search: 'magnifying-glass',
49
45
  account: 'user-circle',
@@ -97,6 +97,13 @@ type CmsSettings = {
97
97
  currency: string,
98
98
  currency_symbol: string,
99
99
  country_code: string,
100
+ whatsapp?: string,
101
+ instagram?: string,
102
+ facebook?: string,
103
+ twitter?: string,
104
+ youtube?: string,
105
+ tiktok?: string,
106
+ pinterest?: string,
100
107
  modules?: {
101
108
  list_payments?: {
102
109
  installments_option?: Partial<ListPaymentsResponse['installments_option']>,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.4.1",
4
+ "version": "0.5.0",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -5,6 +5,6 @@ packages:
5
5
  - 'store'
6
6
  - 'store/*'
7
7
  - 'store/functions/*'
8
- - 'ecomplus-stores/*'
9
- - 'ecomplus-stores/*/*'
10
- - 'ecomplus-stores/*/functions/*'
8
+ #- 'ecomplus-stores/*'
9
+ #- 'ecomplus-stores/*/*'
10
+ #- 'ecomplus-stores/*/functions/*'
@@ -1 +0,0 @@
1
- import{v as O}from"./runtime-dom.esm-bundler.0e5774ce.js";import{p as U}from"./modules-info.0debb0b0.js";import{c as w,d as L,o as r,a as f,l as h,e as k,n as R,u as i,m as G,i as u,p as y,q as N,s as J,v as Q,x as X,y as Y,j as H,w as p,k as M,z as Z,A as ee,g as x,B as te,F as ae,C as se,b as oe}from"./runtime-core.esm-bundler.a0432a8e.js";import{u as ne,a as le,b as re}from"./index.2d12be6c.js";/* empty css */import"./session-utm.72684b84.js";import"./ecom-utils.92f137f6.js";const ue=s=>{const l=w(()=>s.slides.map(({html:t})=>U(t).value)),o=w(()=>l.value.filter(t=>t).length);return{parsedContents:l,countValidSlides:o}},D=Symbol("carousel"),ie=["aria-label","data-carousel-control"],_=L({__name:"CarouselControl",props:{direction:{default:1}},setup(s){const{changeSlide:l}=G(D);return(o,t)=>(r(),f("button",{type:"button","aria-label":s.direction>0?"Próximo":"Anterior",onClick:t[0]||(t[0]=n=>i(l)(s.direction)),"data-carousel-control":s.direction>0?"next":"previous"},[h(o.$slots,"default",{},()=>[k("i",{class:R(["m-0",s.direction>0?"i-chevron-right":"i-chevron-left"])},null,2)])],8,ie))}}),ce=L({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:null},emits:["update:modelValue"],setup(s,{emit:l}){const o=s,t=u(o.modelValue-1);y(N(o,"modelValue"),e=>{t.value=e-1}),y(t,(e,a)=>{e!==a&&l("update:modelValue",e+1)});const n=u(null),{x:V,isScrolling:c,arrivedState:d}=ne(n),C=w(()=>d.left),S=w(()=>d.right),b=u([]),W=u(0),P=u(0),B=u(0),F=()=>{W.value=n.value.scrollWidth,P.value=n.value.offsetWidth},j=()=>{const e=[...n.value.children];b.value=e.map(a=>({offsetLeft:a.offsetLeft,width:a.offsetWidth}))},q=e=>{const a=e>0?t.value:t.value+e,E=b.value[a]?.width||0;return E?E*e:0},T=()=>{const e=b.value.findIndex(a=>Math.abs(a.offsetLeft-V.value)<=5);e>-1&&(t.value=e||0)},$=()=>{const e=W.value-P.value;B.value=b.value.findIndex(({offsetLeft:a})=>a>=e-5)};let v=null;const g=()=>{o.autoplay&&(clearTimeout(v),v=setTimeout(()=>{m(1)},o.autoplay))},m=e=>{if(e<0){if(C.value){$(),t.value=B.value-1,m(1);return}}else if(S.value){t.value=1,m(-1);return}const a=q(e);a&&(n.value.scrollBy({left:a,behavior:"smooth"}),g())};y(c,e=>{e?clearTimeout(v):(T(),g())});const I=u(null),K=le(I);y(K,e=>{e?clearTimeout(v):g()});const z=()=>{n.value&&(F(),j(),T(),$())},A=re(z,400);return J(()=>{z(),Q(()=>{[...n.value.children].forEach(e=>{e.setAttribute("tabindex","0")})}),g(),window.addEventListener("resize",A)}),X(()=>{window.removeEventListener("resize",A),clearTimeout(v)}),Y(D,{autoplay:N(o,"autoplay"),changeSlide:m,isBoundLeft:C,isBoundRight:S}),(e,a)=>(r(),f("div",{ref_key:"carousel",ref:I,"data-carousel":""},[(r(),H(M(s.as),{ref_key:"wrapper",ref:n,"data-carousel-wrapper":""},{default:p(()=>[h(e.$slots,"default")]),_:3},512)),h(e.$slots,"controls",Z(ee({changeSlide:m,isBoundLeft:i(C),isBoundRight:i(S),currentPage:t.value+1,pageCount:B.value+1})),()=>[x(_,{direction:-1},{default:p(()=>[h(e.$slots,"previous")]),_:3}),x(_,null,{default:p(()=>[h(e.$slots,"next")]),_:3})])],512))}}),de={class:"bg-base-100 relative z-1"},fe={class:"container md:w-2/3 mx-auto px-3 py-1"},pe=["innerHTML"],ve={class:"text-xl leading-none text-base-400"},_e=L({__name:"PitchBar",props:{slides:null},setup(s){const l=s,{parsedContents:o,countValidSlides:t}=ue(l);return(n,V)=>(r(),f("div",de,[k("div",fe,[x(ce,{autoplay:i(t)>1?7e3:null},{controls:p(()=>[te(k("div",ve,[x(_,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),x(_,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[O,i(t)>1]])]),default:p(()=>[(r(!0),f(ae,null,se(s.slides,(c,d)=>(r(),f("li",{key:d},[(r(),H(M(c.href?"ALink":"span"),{href:c.href,target:c.target,class:R(["inline-block px-8",c.href?"hover:underline":null])},{default:p(()=>[i(o)[d]?(r(),f("span",{key:0,innerHTML:i(o)[d],class:"prose text-sm text-base-800"},null,8,pe)):oe("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])]))}});export{_e as default};
@@ -1 +0,0 @@
1
- import{_ as o}from"./Prices.vue_vue_type_script_setup_true_lang.ef47de70.js";/* empty css */import"./modules-info.0debb0b0.js";import"./session-utm.72684b84.js";import"./runtime-core.esm-bundler.a0432a8e.js";import"./ecom-utils.92f137f6.js";export{o as default};
@@ -1 +0,0 @@
1
- import{m as x}from"./modules-info.0debb0b0.js";import{g as B,c as M}from"./ecom-utils.92f137f6.js";import{c as n,d as T,a as r,u as a,t as o,b as i,e as h,f as I,n as j,g as L,w as N,r as z,o as l}from"./runtime-core.esm-bundler.a0432a8e.js";const w=(t,c)=>{const{type:f,value:m}=c;let s;return m?(f==="percentage"?s=t*((100-m)/100):s=t-m,s>0?s:0):t},F=t=>{const c=n(()=>t.product||{price:t.price||0,base_price:t.basePrice}),f=n(()=>{const{variations:e}=c.value;if(e){const u=B(c.value);for(let v=0;v<e.length;v++)if(B({...c.value,...e[v]})>u)return!0}return!1}),m=n(()=>x.apply_discount.available_extra_discount),s=n(()=>{const e=B(c.value),u=m.value;return u&&(!u.min_amount||e>u.min_amount)?w(e,u):e}),V=n(()=>{if(M(c.value))return c.value.base_price;const e=B(c.value);return e>s.value?e:0}),d=n(()=>t.installmentsOption||x.list_payments.installments_option||{max_number:1}),p=n(()=>{if(d.value.max_number<=1)return 1;const e=d.value.min_installment||5,u=Math.round(s.value/e);return Math.min(u,d.value.max_number)}),P=n(()=>d.value.monthly_interest||0),$=n(()=>{if(p.value>=2){if(!P.value)return s.value/p.value;const e=P.value/100;return s.value*e/(1-(1+e)**-p.value)}return 0}),y=n(()=>{const e=t.discountOption||x.list_payments.discount_option;return e&&(!e.min_amount||e.min_amount<=s.value)&&(!t.isAmountTotal||e.apply_at==="total")?e:{}}),g=n(()=>{const{label:e}=y.value;return e?e.includes(" ")?e:`via ${e}`:""}),_=n(()=>w(s.value,y.value)),b=n(()=>{if(t.loyaltyPointsProgram)return t.loyaltyPointsProgram;const e=x.list_payments.loyalty_points_programs;if(e){const u=Object.keys(e);for(let v=0;v<u.length;v++){const O=e[u[v]];if(O&&O.earn_percentage>0)return O}}return{ratio:0}}),k=n(()=>b.value.min_subtotal_to_earn||0),A=n(()=>b.value.name||""),C=n(()=>b.value.earn_percentage||0),D=n(()=>C.value*b.value.ratio),W=n(()=>D.value>=1?s.value*(D.value/100):0);return{hasVariedPrices:f,salePrice:s,comparePrice:V,installmentsObject:d,installmentsNumber:p,monthlyInterest:P,installmentValue:$,discountObject:y,discountLabel:g,priceWithDiscount:_,pointsProgramObject:b,pointsMinPrice:k,pointsProgramName:A,earnPointsPercentage:C,cashbackPercentage:D,cashbackValue:W}},S={key:0,class:"text-base-500 mr-1"},E={key:0},R={key:1},q={key:0},G={key:0,class:"relative z-10"},H=["data-tooltip"],J=h("i",{class:"i-cashback mr-1"},null,-1),K={class:"font-medium"},Q=h("small",null," cashback",-1),U={key:0},X={key:0},Y={key:1},Z={key:2},ee={key:0},te={key:0},ne={key:1},re=T({__name:"Prices",props:{product:null,price:null,basePrice:null,isAmountTotal:{type:Boolean},installmentsOption:null,discountOption:null,isBig:{type:Boolean},isLiteral:{type:Boolean},hasCashback:{type:Boolean,default:!0},hasPriceOptions:{type:Boolean,default:!0}},setup(t){const c=t,{hasVariedPrices:f,salePrice:m,comparePrice:s,cashbackPercentage:V,cashbackValue:d,installmentsNumber:p,monthlyInterest:P,installmentValue:$,priceWithDiscount:y,discountLabel:g}=F(c);return(_,b)=>{const k=z("Fade");return l(),r("div",{class:j(["text-base-600",t.isBig?"text-lg":null]),"data-prices":""},[a(s)?(l(),r("span",S,[t.isLiteral?(l(),r("small",E,o("De "))):i("",!0),h("s",null,o(_.$money(a(s))),1),t.isLiteral?(l(),r("small",R,o(" Por"))):i("",!0)])):i("",!0),h("strong",{class:j(["inline-block text-base-800",t.isBig?"text-5xl block":null])},[a(f)?(l(),r("small",q,o("A partir de "))):i("",!0),I(" "+o(_.$money(a(m))),1)],2),L(k,{slide:"down"},{default:N(()=>[a(d)&&t.hasCashback?(l(),r("div",G,[h("span",{"data-tooltip":"Receba $1 de volta".replace("$1",_.$percentage(a(V)))},[J,h("span",K,o(_.$money(a(d))),1),Q],8,H)])):i("",!0)]),_:1}),L(k,{slide:"down"},{default:N(()=>[a($)&&t.hasPriceOptions?(l(),r("div",U,[t.isLiteral?(l(),r("small",X,o("Até "))):i("",!0),I(" "+o(a(p))+"x ",1),t.isLiteral?(l(),r("small",Y,o(" De "))):i("",!0),h("span",null,o(_.$money(a($))),1),!a(P)&&t.isLiteral?(l(),r("small",Z,o("Sem juros"))):i("",!0)])):i("",!0)]),_:1}),L(k,{slide:"down"},{default:N(()=>[a(y)<a(m)&&t.hasPriceOptions?(l(),r("div",ee,[a(g)?i("",!0):(l(),r("small",te,o("A partir de "))),h("span",null,o(_.$money(a(y))),1),a(g)?(l(),r("small",ne,o(` ${a(g)}`),1)):i("",!0)])):i("",!0)]),_:1})],2)}}});export{re as _};
@@ -1 +0,0 @@
1
- import{_ as e}from"./Prices.vue_vue_type_script_setup_true_lang.ef47de70.js";/* empty css */import{d as u,i as o,j as n,w as t,k as m,o as d,g as r,f as c,t as l}from"./runtime-core.esm-bundler.a0432a8e.js";import"./modules-info.0debb0b0.js";import"./session-utm.72684b84.js";import"./ecom-utils.92f137f6.js";const B=u({__name:"ProductCard",props:{as:{default:"div"}},setup(p){const s=o(12),a=o(!1);return setTimeout(()=>{s.value=8,a.value=!0},5e3),(f,_)=>(d(),n(m(p.as),null,{default:t(()=>[r(e,null,{default:t(({salePrice:i})=>[c(" ProductCard "+l(i),1)]),_:1}),r(e,{product:{price:s.value}},null,8,["product"]),r(e,{price:12,"base-price":17}),r(e,{price:12,"base-price":16,"is-literal":!0}),r(e,{price:12,"is-big":a.value},null,8,["is-big"]),r(e,{price:14,"base-price":18,"is-big":a.value,"is-literal":!0},null,8,["is-big"]),r(e,{price:12,"base-price":16},{"compare-value":t(({comparePrice:i})=>[c(" x"+l(i),1)]),_:1})]),_:1}))}});export{B as default};
@@ -1 +0,0 @@
1
- import{c as P,u as M,b as N,p as j}from"./index.2d12be6c.js";import{i as h,c as C,p as x,s as O,d as H,q as R,j as F,w as B,u as k,r as Y,o as d,a as g,e as l,n as $,l as v,b as V,a1 as U,g as E,F as T,C as A,t as q,a2 as G,a3 as I,z as X,A as J}from"./runtime-core.esm-bundler.a0432a8e.js";import{w as K}from"./runtime-dom.esm-bundler.0e5774ce.js";const Q="Minha conta",W="Abrir carrinho",Z="Buscar produtos",ee=s=>{const{header:a,canSetStyles:t,canCreateHeightDiv:n,isShownOnScrollDown:i}={canSetStyles:!0,canCreateHeightDiv:!0,...s},{ready:c,start:y}=P(100,{controls:!0,immediate:!1}),f=h(0),o=h(0);let r;const{y:e}=M(document),b=C(()=>c.value&&e.value>o.value*1.2),m=h("none");x(b,async u=>{t&&(a.value.style.position=u?"sticky":null),r&&(r.style.height=u?`${f.value}px`:null),u?(await j(300),m.value="opacity var(--transition-slow), transform var(--transition)"):(y(),m.value="none")});const p=h(!1);return x(e,(u,S)=>{p.value=u>0&&u<S}),O(()=>{const u=()=>{f.value=a.value.offsetHeight,o.value=f.value+window.pageYOffset+a.value.getBoundingClientRect().top,y()},S=a.value.getElementsByTagName("IMG");let z=!0;for(let w=0;w<S.length;w++){const _=S[w];(!_.complete||_.naturalHeight===0)&&(z=!1,_.onload=u)}z&&u(),window.addEventListener("resize",N(u,300)),t&&(a.value.style.willChange="transform",x([b,p],([w,_])=>{let L=null,D=null;w&&(!_||i)&&(L="0",D="translateY(-100%)"),a.value.style.opacity=L,a.value.style.transform=D}),x(m,w=>{a.value.style.transition=w})),n&&(r=document.createElement("div"),a.value.parentElement.insertBefore(r,a.value))}),{staticHeight:f,staticY:o,isSticky:b,isScrollUp:p,transition:m}},te=["open","data-drawer"],ae={class:"relative"},se=["onClick"],oe=l("i",{class:"i-close text-base-400 text-3xl"},null,-1),le={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""},ne=H({__name:"Drawer",props:{modelValue:{type:Boolean,default:!1},placement:{default:"start"},position:{default:"fixed"},hasCloseButton:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(s,{emit:a}){const t=s,n=()=>a("update:modelValue",!1),i=h(null),c=e=>{i.value?.contains(e.target)||n()},y=e=>{e.key==="Escape"&&n()};x(R(t,"modelValue"),async e=>{e?(document.body.style.overflow="hidden",setTimeout(()=>{document.addEventListener("click",c,{passive:!0}),document.addEventListener("keydown",y,{passive:!0})},500)):(document.body.style.overflow=null,document.removeEventListener("click",c),document.removeEventListener("keydown",y))});const f=C(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"up";default:return"down"}}),o=C(()=>t.position==="fixed"),r=C(()=>t.placement==="start"||t.placement==="end");return(e,b)=>{const m=Y("Fade");return d(),F(m,{slide:k(f),speed:"slow","is-floating":""},{default:B(()=>[s.modelValue?(d(),g("dialog",{key:0,ref_key:"drawer",ref:i,class:$(["w-screen max-w-sm shadow p-0 m-0 z-50",[s.position,k(o)?`top-0 left-0 ${k(r)?"h-screen":""}`:null]]),open:s.modelValue,"data-drawer":s.placement},[l("div",ae,[s.hasCloseButton?(d(),g("button",{key:0,type:"button","aria-label":"Fechar",onClick:K(n,["prevent"]),class:$(["absolute top-2",s.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[v(e.$slots,"close",{},()=>[oe])],10,se)):V("",!0),v(e.$slots,"default")]),(d(),F(U,{to:"#teleported-top"},[E(m,null,{default:B(()=>[s.modelValue?(d(),g("div",le)):V("",!0)]),_:1})]))],10,te)):V("",!0)]),_:3},8,["slide"])}}}),ie={"data-sidenav":""},re={class:"py-5","data-sidenav-nav":""},ce=["href"],ue=H({__name:"ShopSidenav",props:{categories:null},setup(s){const t=s.categories.filter(({slug:n,parent:i})=>n&&!i);return(n,i)=>(d(),g("aside",ie,[l("nav",re,[l("ul",null,[(d(!0),g(T,null,A(k(t),c=>(d(),g("li",{key:c._id},[l("a",{href:`/${c.slug}`},q(c.name),9,ce)]))),128))])])]))}}),de={class:"container lg:max-w-7xl mx-auto px-1 lg:pl-3 grid grid-flow-col grid-cols-3 justify-between items-center md:grid-cols-none md:auto-cols-max"},me={class:"md:hidden","data-sidenav-toggle":""},pe={class:"px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800","data-header-buttons":""},ve=["aria-label","onClick","data-header-button"],ye=H({__name:"ShopHeader",props:{categories:null},setup(s){const a=h({search:{icon:"i-search",onClick:()=>{},label:Z},account:{icon:"i-account",onClick:()=>{},label:Q},cart:{icon:"i-shopping-cart",onClick:()=>{},label:W}}),t=h(!1),n=h(null),{isSticky:i,staticHeight:c,staticY:y}=ee({header:n}),f=C(()=>i.value?c.value:y.value);return(o,r)=>(d(),g("header",{ref_key:"header",ref:n,class:$(["top-0 z-50 transition-colors",[k(i)&&!t.value?"bg-white/80":"bg-white",k(i)?"backdrop-blur-md shadow py-2 md:py-3":"py-3 sm:py-4 md:py-5"]])},[l("div",de,[v(o.$slots,"sidenav-toggle",{},()=>[l("div",me,[l("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:r[0]||(r[0]=e=>t.value=!t.value)},[v(o.$slots,"sidenav-toggle-content",{},()=>[l("i",{class:$(["text-base-500 text-3xl",t.value?"i-close":"i-menu"])},null,2)])])])]),v(o.$slots,"logo"),v(o.$slots,"nav"),v(o.$slots,"buttons",{},()=>[l("div",pe,[(d(!0),g(T,null,A(a.value,({icon:e,onClick:b,label:m},p)=>v(o.$slots,"button",I({key:p},{name:p,icon:e,onClick:b}),()=>[l("button",{class:$(p==="account"?"hidden sm:block":null),"aria-label":m,onClick:b,"data-header-button":p},[v(o.$slots,"button-content",X(J({name:p,icon:e})),()=>[l("i",{class:$([e,"hover:text-primary w-7 h-7 hover:scale-110 active:scale-125"])},null,2)])],10,ve)])),128))])])]),E(ne,{modelValue:t.value,"onUpdate:modelValue":r[1]||(r[1]=e=>t.value=e),"has-close-button":!1,position:"absolute",class:"mt-2 -z-1",style:G({height:`calc(100vh - ${k(f)}px + .5rem)`})},{default:B(()=>[E(ue,{class:"bg-white pt-6",categories:s.categories},null,8,["categories"])]),_:1},8,["modelValue","style"])],2))}});export{ye as default};
@@ -1 +0,0 @@
1
- *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-family);font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#94a3b8}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--font-size: 14.5px;--font-sans: var(--custom-font-sans, ui-sans-serif), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: var(--custom-font-mono, ui-monospace), SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-family: var(--font-sans);--transition-fast: 75ms linear;--transition: .15s ease-in-out;--transition-slow: .25s ease-in-out;--transition-slower: .45s ease-in-out;--c-on-dark: rgb(255, 255, 255);--c-on-light: rgb(0, 0, 0);--c-background: #fff;--c-on-background: #1e293b;--un-prose-body: #334155;--un-prose-headings: #0f172a;--un-prose-links: var(--c-primary);--un-prose-captions: #64748b;--un-prose-borders: #e2e8f0;--un-prose-hr: #cbd5e1;--un-prose-bg-soft: #f1f5f9;color-scheme:light;accent-color:var(--c-secondary)}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition: 0s;--transition-slow: 0s;--transition-slower: .15s linear}}html{font-size:var(--font-size)}@media (min-width: 640px){html{font-size:calc(var(--font-size) * 1.0345)}}@media (min-width: 768px){html{font-size:calc(var(--font-size) * 1.0689)}}@media (min-width: 1024px){html{font-size:calc(var(--font-size) * 1.1034)}}@media (min-width: 1280px){html{font-size:calc(var(--font-size) * 1.1379)}}@media (min-width: 1536px){html{font-size:calc(var(--font-size) * 1.1724)}}:focus-visible{outline-color:var(--c-outline, rgba(var(--rgb-secondary), .1))}::selection{background-color:var(--c-selection-background, rgba(var(--rgb-secondary), .15))}::marker{color:var(--c-primary)}:is(::-webkit-calendar-picker-indicator,::-webkit-clear-button,::-webkit-inner-spin-button,::-webkit-outer-spin-button){color:var(--c-secondary)}body{background:var(--c-background);color:var(--c-on-background)}d-md{display:none}@media (min-width: 768px){d-md{display:inline}}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--c-background);border-color:#64748b;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--un-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--un-ring-inset: var(--un-empty, );--un-ring-offset-width: 0px;--un-ring-offset-color: var(--c-background);--un-ring-color: var(--c-primary);--un-ring-offset-shadow: var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow: var(--un-ring-inset) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);border-color:var(--c-primary)}input::-moz-placeholder,textarea::-moz-placeholder{color:#64748b;opacity:1}input::placeholder,textarea::placeholder{color:#64748b;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:var(--c-primary);background-color:var(--c-background);border-color:#64748b;border-width:1px;--un-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--un-ring-inset: var(--un-empty, );--un-ring-offset-width: 2px;--un-ring-offset-color: var(--c-background);--un-ring-color: var(--c-primary);--un-ring-offset-shadow: var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow: var(--un-ring-inset) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}[data-tooltip]{position:relative;cursor:help;--background-color: var(--c-tooltip-background, rgba(44, 44, 44, .85));--color: var(--c-tooltip-foreground, var(--c-on-dark));--border-color: transparent transparent var(--background-color) transparent}[data-tooltip]:before{content:attr(data-tooltip);visibility:hidden;opacity:0;transition:opacity var(--transition);position:absolute;z-index:1;left:0;top:102%;margin-top:5px;font-size:clamp(.75rem,90%,1rem);width:max-content;background-color:var(--background-color);color:var(--color);text-align:center;border-radius:.125rem;padding:.25rem .5rem;line-height:1.375}[data-tooltip]:after{content:"";visibility:hidden;opacity:0;transition:opacity var(--transition);position:absolute;z-index:1;left:50%;top:102%;margin-left:-5px;margin-top:-4px;border-width:5px;border-style:solid;border-color:var(--border-color)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgba(0,0,0,0);--un-ring-shadow:0 0 rgba(0,0,0,0);--un-shadow-inset: ;--un-shadow:0 0 rgba(0,0,0,0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }:root{--rgb-primary-50:246,250,249;--rgb-primary-100:226,239,235;--rgb-primary-200:204,227,220;--rgb-primary-300:180,214,204;--rgb-primary-400:148,196,181;--rgb-primary-500:106,172,152;--rgb-primary-600:59,146,120;--rgb-primary-700:19,123,91;--rgb-primary-800:16,101,75;--rgb-primary-900:11,72,54;--rgb-primary-subtle:103,197,161;--c-primary-subtle:rgb(103,197,161);--c-on-primary-subtle:var(--c-on-light);--rgb-primary:19,124,92;--c-primary:rgb(19,124,92);--c-on-primary:var(--c-on-dark);--rgb-primary-bold:0,68,41;--c-primary-bold:rgb(0,68,41);--c-on-primary-bold:var(--c-on-dark);--rgb-secondary-50:246,250,249;--rgb-secondary-100:226,239,235;--rgb-secondary-200:204,227,220;--rgb-secondary-300:180,214,204;--rgb-secondary-400:148,196,181;--rgb-secondary-500:106,172,152;--rgb-secondary-600:59,146,120;--rgb-secondary-700:19,123,91;--rgb-secondary-800:16,101,75;--rgb-secondary-900:11,72,54;--rgb-secondary-subtle:103,197,161;--c-secondary-subtle:rgb(103,197,161);--c-on-secondary-subtle:var(--c-on-light);--rgb-secondary:19,124,92;--c-secondary:rgb(19,124,92);--c-on-secondary:var(--c-on-dark);--rgb-secondary-bold:0,68,41;--c-secondary-bold:rgb(0,68,41);--c-on-secondary-bold:var(--c-on-dark);--rgb-on-primary:--c-on-dark;--rgb-on-primary-subtle:--c-on-light;--rgb-on-primary-bold:--c-on-dark;--rgb-on-secondary:--c-on-dark;--rgb-on-secondary-subtle:--c-on-light;--rgb-on-secondary-bold:--c-on-dark}.prose :where(h1,h2,h3,h4,h5,h6):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-headings);font-weight:600;line-height:1.25}.prose :where(a):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-links);text-decoration:underline;font-weight:500}.prose :where(a code):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-links)}.prose :where(p,ul,ol,pre):not(:where(.not-prose,.not-prose *)){margin:1em 0;line-height:1.75}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){margin:1em 0;padding-left:1em;font-style:italic;border-left:.25em solid var(--un-prose-borders)}.prose :where(h1):not(:where(.not-prose,.not-prose *)){margin:1rem 0;font-size:2.25em}.prose :where(h2):not(:where(.not-prose,.not-prose *)){margin:1.75em 0 .5em;font-size:1.75em}.prose :where(h3):not(:where(.not-prose,.not-prose *)){margin:1.5em 0 .5em;font-size:1.375em}.prose :where(h4):not(:where(.not-prose,.not-prose *)){margin:1em 0;font-size:1.125em}.prose :where(img,video):not(:where(.not-prose,.not-prose *)){max-width:100%}.prose :where(figure,picture):not(:where(.not-prose,.not-prose *)){margin:1em 0}.prose :where(figcaption):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-captions);font-size:.875em}.prose :where(code):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-code);font-size:.875em;font-weight:600;font-family:var(--un-prose-font-mono)}.prose :where(:not(pre) > code):not(:where(.not-prose,.not-prose *)):before,.prose :where(:not(pre) > code):not(:where(.not-prose,.not-prose *)):after{content:"`"}.prose :where(pre):not(:where(.not-prose,.not-prose *)){padding:1.25rem 1.5rem;overflow-x:auto;border-radius:.375rem}.prose :where(pre,code):not(:where(.not-prose,.not-prose *)){white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;hyphens:none;background:transparent}.prose :where(pre code):not(:where(.not-prose,.not-prose *)){font-weight:inherit}.prose :where(ol,ul):not(:where(.not-prose,.not-prose *)){padding-left:1.25em}.prose :where(ol):not(:where(.not-prose,.not-prose *)){list-style-type:decimal}.prose :where(ol[type="A"]):not(:where(.not-prose,.not-prose *)){list-style-type:upper-alpha}.prose :where(ol[type="a"]):not(:where(.not-prose,.not-prose *)){list-style-type:lower-alpha}.prose :where(ol[type="A" s]):not(:where(.not-prose,.not-prose *)){list-style-type:upper-alpha}.prose :where(ol[type="a" s]):not(:where(.not-prose,.not-prose *)){list-style-type:lower-alpha}.prose :where(ol[type="I"]):not(:where(.not-prose,.not-prose *)){list-style-type:upper-roman}.prose :where(ol[type="i"]):not(:where(.not-prose,.not-prose *)){list-style-type:lower-roman}.prose :where(ol[type="I" s]):not(:where(.not-prose,.not-prose *)){list-style-type:upper-roman}.prose :where(ol[type="i" s]):not(:where(.not-prose,.not-prose *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where(.not-prose,.not-prose *)){list-style-type:decimal}.prose :where(ul):not(:where(.not-prose,.not-prose *)){list-style-type:disc}.prose :where(ol > li):not(:where(.not-prose,.not-prose *))::marker,.prose :where(ul > li):not(:where(.not-prose,.not-prose *))::marker,.prose :where(summary):not(:where(.not-prose,.not-prose *))::marker{color:var(--un-prose-lists)}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin:2em 0;border:1px solid var(--un-prose-hr)}.prose :where(table):not(:where(.not-prose,.not-prose *)){display:block;margin:1em 0;border-collapse:collapse;overflow-x:auto}.prose :where(tr):not(:where(.not-prose,.not-prose *)):nth-child(2n){background:var(--un-prose-bg-soft)}.prose :where(td,th):not(:where(.not-prose,.not-prose *)){border:1px solid var(--un-prose-borders);padding:.625em 1em}.prose :where(abbr):not(:where(.not-prose,.not-prose *)){cursor:help}.prose :where(kbd):not(:where(.not-prose,.not-prose *)){color:var(--un-prose-code);border:1px solid;padding:.25rem .5rem;font-size:.875em;border-radius:.25rem}.prose :where(details):not(:where(.not-prose,.not-prose *)){margin:1em 0;padding:1.25rem 1.5rem;background:var(--un-prose-bg-soft)}.prose :where(summary):not(:where(.not-prose,.not-prose *)){cursor:pointer;font-weight:600}.prose{color:var(--un-prose-body);max-width:65ch}.i-account,.i-user-circle{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M17.982 18.725A7.488 7.488 0 0 0 12 15.75a7.488 7.488 0 0 0-5.982 2.975m11.963 0a9 9 0 1 0-11.963 0m11.963 0A8.966 8.966 0 0 1 12 21a8.966 8.966 0 0 1-5.982-2.275M15 9.75a3 3 0 1 1-6 0a3 3 0 0 1 6 0Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-bars-3-bottom-left,.i-menu{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25H12'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-cashback{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M9 15L3 9m0 0l6-6M3 9h12a6 6 0 0 1 0 12h-3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-chevron-left{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.75 19.5L8.25 12l7.5-7.5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-chevron-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m8.25 4.5l7.5 7.5l-7.5 7.5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-close{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-facebook{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 512 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48c27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-instagram{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 448 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9S287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7s74.7 33.5 74.7 74.7s-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8c-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8s26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9c-26.2-26.2-58-34.4-93.9-36.2c-37-2.1-147.9-2.1-184.9 0c-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9c1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0c35.9-1.7 67.7-9.9 93.9-36.2c26.2-26.2 34.4-58 36.2-93.9c2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6c-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6c-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6c29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6c11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-phone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M2.25 6.75c0 8.284 6.716 15 15 15h2.25a2.25 2.25 0 0 0 2.25-2.25v-1.372c0-.516-.351-.966-.852-1.091l-4.423-1.106c-.44-.11-.902.055-1.173.417l-.97 1.293c-.282.376-.769.542-1.21.38a12.035 12.035 0 0 1-7.143-7.143c-.162-.441.004-.928.38-1.21l1.293-.97c.363-.271.527-.734.417-1.173L6.963 3.102a1.125 1.125 0 0 0-1.091-.852H4.5A2.25 2.25 0 0 0 2.25 4.5v2.25Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-pinterest{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 496 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M496 256c0 137-111 248-248 248c-25.6 0-50.2-3.9-73.4-11.1c10.1-16.5 25.2-43.5 30.8-65c3-11.6 15.4-59 15.4-59c8.1 15.4 31.7 28.5 56.8 28.5c74.8 0 128.7-68.8 128.7-154.3c0-81.9-66.9-143.2-152.9-143.2c-107 0-163.9 71.8-163.9 150.1c0 36.4 19.4 81.7 50.3 96.1c4.7 2.2 7.2 1.2 8.3-3.3c.8-3.4 5-20.3 6.9-28.1c.6-2.5.3-4.7-1.7-7.1c-10.1-12.5-18.3-35.3-18.3-56.6c0-54.7 41.4-107.6 112-107.6c60.9 0 103.6 41.5 103.6 100.9c0 67.1-33.9 113.6-78 113.6c-24.3 0-42.6-20.1-36.7-44.8c7-29.5 20.5-61.3 20.5-82.6c0-19-10.2-34.9-31.4-34.9c-24.9 0-44.9 25.7-44.9 60.2c0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256C0 119 111 8 248 8s248 111 248 248z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-search{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-shopping-cart{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M15.75 10.5V6a3.75 3.75 0 1 0-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 0 1-1.12-1.243l1.264-12A1.125 1.125 0 0 1 5.513 7.5h12.974c.576 0 1.059.435 1.119 1.007ZM8.625 10.5a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Zm7.5 0a.375.375 0 1 1-.75 0a.375.375 0 0 1 .75 0Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-tiktok{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 448 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M448 209.91a210.06 210.06 0 0 1-122.77-39.25v178.72A162.55 162.55 0 1 1 185 188.31v89.89a74.62 74.62 0 1 0 52.23 71.18V0h88a121.18 121.18 0 0 0 1.86 22.17A122.18 122.18 0 0 0 381 102.39a121.43 121.43 0 0 0 67 20.14Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-twitter{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 512 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M459.37 151.716c.325 4.548.325 9.097.325 13.645c0 138.72-105.583 298.558-298.558 298.558c-59.452 0-114.68-17.219-161.137-47.106c8.447.974 16.568 1.299 25.34 1.299c49.055 0 94.213-16.568 130.274-44.832c-46.132-.975-84.792-31.188-98.112-72.772c6.498.974 12.995 1.624 19.818 1.624c9.421 0 18.843-1.3 27.614-3.573c-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319c-28.264-18.843-46.781-51.005-46.781-87.391c0-19.492 5.197-37.36 14.294-52.954c51.655 63.675 129.3 105.258 216.365 109.807c-1.624-7.797-2.599-15.918-2.599-24.04c0-57.828 46.782-104.934 104.934-104.934c30.213 0 57.502 12.67 76.67 33.137c23.715-4.548 46.456-13.32 66.599-25.34c-7.798 24.366-24.366 44.833-46.132 57.827c21.117-2.273 41.584-8.122 60.426-16.243c-14.292 20.791-32.161 39.308-52.628 54.253z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-whatsapp{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 448 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222c0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222c0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4l-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2c0-101.7 82.8-184.5 184.6-184.5c49.3 0 95.6 19.2 130.4 54.1c34.8 34.9 56.2 81.2 56.1 130.5c0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18c-5.1-1.9-8.8-2.8-12.5 2.8c-3.7 5.6-14.3 18-17.6 21.8c-3.2 3.7-6.5 4.2-12 1.4c-32.6-16.3-54-29.1-75.5-66c-5.7-9.8 5.7-9.1 16.3-30.3c1.8-3.7.9-6.9-.5-9.7c-1.4-2.8-12.5-30.1-17.1-41.2c-4.5-10.8-9.1-9.3-12.5-9.5c-3.2-.2-6.9-.2-10.6-.2c-3.7 0-9.7 1.4-14.8 6.9c-5.1 5.6-19.4 19-19.4 46.3c0 27.3 19.9 53.7 22.6 57.4c2.8 3.7 39.1 59.7 94.8 83.8c35.2 15.2 49 16.5 66.6 13.9c10.7-1.6 32.8-13.4 37.4-26.4c4.6-13 4.6-24.1 3.2-26.4c-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.i-youtube{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 576 512' display='inline-block' vertical-align='middle' margin-bottom='0.22rem' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597c-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821c11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205l-142.739 81.201z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;display:inline-block;vertical-align:middle;margin-bottom:.22rem;width:1em;height:1em}.container{max-width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.left-0{left:0rem}.left-2{left:.5rem}.right-2{right:.5rem}.top-0{top:0rem}.top-2{top:.5rem}.-z-1{z-index:-1}.z-0{z-index:0}.z-1{z-index:1}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.grid{display:grid}.auto-cols-max{grid-auto-columns:max-content}.grid-flow-col{grid-auto-flow:column}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.m-0{margin:0rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.me{margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-7{height:1.75rem}.h-screen{height:100vh}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.h4{height:1rem}.h5{height:1.25rem}.h6{height:1.5rem}.max-w-sm{max-width:24rem}.w-7{width:1.75rem}.w-full{width:100%}.w-screen{width:100vw}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.hover\:scale-110:hover{--un-scale-x:1.1;--un-scale-y:1.1;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.active\:scale-125:active{--un-scale-x:1.25;--un-scale-y:1.25;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-3{grid-gap:.75rem;gap:.75rem}.overflow-x-auto{overflow-x:auto}.whitespace-nowrap{white-space:nowrap}.bg-base-100{--un-bg-opacity:1;background-color:rgba(241,245,249,var(--un-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-white{--un-bg-opacity:1;background-color:rgba(255,255,255,var(--un-bg-opacity))}.bg-white\/80{background-color:#fffc}.bg-opacity-90{--un-bg-opacity:.9}.p-0{padding:0rem}.p-1{padding:.25rem}.px{padding-left:1rem;padding-right:1rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pl-2{padding-left:.5rem}.pr-2{padding-right:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-brand{font-family:var(--font-brand, var(--font-sans))}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.lowercase{text-transform:lowercase}.hover\:text-base-700:hover{--un-text-opacity:1;color:rgba(51,65,85,var(--un-text-opacity))}.hover\:text-primary:hover,.text-primary{--un-text-opacity:1;color:rgba(var(--rgb-primary),var(--un-text-opacity))}.text-base-400{--un-text-opacity:1;color:rgba(148,163,184,var(--un-text-opacity))}.text-base-500{--un-text-opacity:1;color:rgba(100,116,139,var(--un-text-opacity))}.text-base-600{--un-text-opacity:1;color:rgba(71,85,105,var(--un-text-opacity))}.text-base-800{--un-text-opacity:1;color:rgba(30,41,59,var(--un-text-opacity))}.text-gray-700{--un-text-opacity:1;color:rgba(55,65,81,var(--un-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.no-underline{text-decoration:none}.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 3px 0 var(--un-shadow-color, rgba(0,0,0,.1)),var(--un-shadow-inset) 0 1px 2px -1px var(--un-shadow-color, rgba(0,0,0,.1));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.backdrop-blur-md{--un-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.hover\:drop-shadow-sm:hover{--un-drop-shadow:drop-shadow(0 1px 1px var(--un-drop-shadow-color, rgba(0,0,0,.05)));filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.primary{background-color:var(--c-primary, rgb(19,124,92));color:var(--c-on-primary, var(--c-on-dark))}.secondary{background-color:var(--c-secondary, rgb(19,124,92));color:var(--c-on-secondary, var(--c-on-dark))}@media (min-width: 640px){.sm\:block{display:block}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:py-4{padding-top:1rem;padding-bottom:1rem}}@media (min-width: 768px){.md\:auto-cols-max{grid-auto-columns:max-content}.md\:grid-cols-none{grid-template-columns:none}.md\:block{display:block}.md\:hidden{display:none}.md\:w-2\/3{width:66.6666666667%}.md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}}@media (min-width: 1024px){.lg\:mr-3{margin-right:.75rem}.lg\:max-w-7xl{max-width:80rem}.lg\:gap-4{grid-gap:1rem;gap:1rem}.lg\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\:pl-3{padding-left:.75rem}}@media (min-width: 1280px){.xl\:px-4{padding-left:1rem;padding-right:1rem}}html{scroll-behavior:smooth}body{overflow-x:hidden}a,button,button>*{transition:color var(--transition),background-color var(--transition),opacity var(--transition),transform var(--transition-fast)}[data-carousel]{position:relative}[data-carousel-wrapper]{display:flex;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;list-style:none;margin:0;padding:0}[data-carousel-wrapper]::-webkit-scrollbar{display:none}[data-carousel-wrapper]>*{flex:0 0 100%;height:100%;scroll-snap-align:start;display:flex;justify-content:center;align-items:center;outline:none}[data-carousel-control]{position:absolute;top:0;bottom:0;z-index:1}[data-carousel-control=previous]{left:0}[data-carousel-control=next]{right:0}
@@ -1 +0,0 @@
1
- import{T as L,u as C,c as B,a as x}from"./runtime-dom.esm-bundler.0e5774ce.js";import{d as p,c as o,j as O,w as P,o as w,l as F,u,a as j,G as h}from"./runtime-core.esm-bundler.a0432a8e.js";/* empty css */import{D as H,_ as z,f as D}from"./ecom-utils.92f137f6.js";const _=(e,t=z.get("lang"))=>{if(typeof e=="object"&&e!==null){const s=Object.keys(e)[0];if(/^[a-z]{2}(_[a-z]{2})?$/.test(s))return e[t]||e[H]||e[s];{const r=Array.isArray(e)?[]:{};for(const a in e)e[a]!==void 0&&(r[a]=_(e[a],t));return r}}return e},W=_,q=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(e){const t=e;C(n=>({"68e3b484":u(S),"17a22876":u(s),bc2eb02a:u(d),da7ab968:u(i),43026547:u(b),"6e5955a6":u(T),"6f10697b":u(c),"95ff7e48":u(g)}));const s=o(()=>t.speed==="default"?"var(--transition, .2s linear)":`var(--transition-${t.speed}, .4s linear)`),r=o(()=>{switch(t.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"}}),a=o(()=>r.value!=="none"?.1:0),d=o(()=>t.isEnterFrom?a.value:1),c=o(()=>t.isLeaveTo?a.value:1),i=o(()=>t.isEnterFrom?r.value:"none"),g=o(()=>t.isLeaveTo?r.value:"none"),l=o(()=>t.slide==="down"||t.slide==="up"),m=o(()=>t.isFloating?null:l.value?0:"auto"),v=o(()=>t.isFloating?null:t.slide&&!l.value?0:"auto"),b=o(()=>t.isEnterFrom?m.value:"auto"),T=o(()=>t.isEnterFrom?v.value:"auto"),S=o(()=>{let n="opacity";return r.value!=="none"&&(n+=", transform"),m.value===0&&(n+=", height"),v.value===0&&(n+=", width"),n}),$=n=>{if(t.slide&&!t.isFloating&&t.isEnterFrom){l.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:f,height:k}=getComputedStyle(n);n.style.width=l.value?null:"0",n.style.height=l.value?"0":null,n.style.position=null,n.style.visibility=null,getComputedStyle(n)[l.value?"height":"width"],requestAnimationFrame(()=>{l.value?n.style.height=k:n.style.width=f})}},A=n=>{t.slide&&!t.isFloating&&t.isEnterFrom&&(n.style[l.value?"height":"width"]=null)},E=n=>{if(t.slide&&!t.isFloating&&t.isLeaveTo){l.value?n.style.height=getComputedStyle(n).height:n.style.width=getComputedStyle(n).width;const f=l.value?"height":"width";getComputedStyle(n)[f],requestAnimationFrame(()=>{n.style[f]="0"})}};return(n,f)=>(w(),O(L,{name:"sf-fade",onEnter:$,onAfterEnter:A,onLeave:E},{default:P(()=>[F(n.$slots,"default",{},void 0,!0)]),_:3}))}}),G=(e,t)=>{const s=e.__vccOpts||e;for(const[r,a]of t)s[r]=a;return s},I=G(q,[["__scopeId","data-v-d3912920"]]),M=["href","target","rel"],N=p({__name:"ALink",props:{href:null,target:null},setup(e){const t=e,s=o(()=>{if(t.target)return t.target;if(t.href.startsWith("http")&&globalThis.storefront.settings){const r=globalThis.storefront.settings.domain||window.location.host;if(t.href.startsWith(`https://${r}`))return null}return null});return(r,a)=>(w(),j("a",{href:e.href,target:u(s),rel:u(s)==="_blank"?"noopener":null},[F(r.$slots,"default")],8,M))}}),R=(e,t=1)=>Number.isInteger(e)?`${e}%`:`${e.toFixed(t)}%`,y=e=>{e.use({install:(t,s)=>{t.config.globalProperties.$t=(r,a)=>W(r,a||s?.lang),t.config.globalProperties.$money=D,t.config.globalProperties.$percentage=R}}),e.component("Fade",I),e.component("ALink",N)},U=p({props:{value:String,name:String},setup({name:e,value:t}){return t?()=>h("astro-slot",{name:e,innerHTML:t}):()=>null}}),Q=e=>async(t,s,r,{client:a})=>{if(delete s.class,!e.hasAttribute("ssr"))return;const d=t.name?`${t.name} Host`:void 0,c={};for(const[i,g]of Object.entries(r))c[i]=()=>h(U,{value:g,name:i==="default"?void 0:i});if(a==="only"){const i=B({name:d,render:()=>h(t,s,c)});await y(i),i.mount(e,!1)}else{const i=x({name:d,render:()=>h(t,s,c)});await y(i),i.mount(e,!0)}};export{Q as default};
@@ -1 +0,0 @@
1
- import{c as E,u as U,i as b,_ as G,$ as X,a0 as K,h as D,p as M}from"./runtime-core.esm-bundler.a0432a8e.js";var H;const L=typeof window<"u",Y=e=>typeof e=="string",y=()=>{};L&&((H=window?.navigator)!=null&&H.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function _(e){return typeof e=="function"?e():U(e)}function R(e,n){function t(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>n.apply(this,r),{fn:n,thisArg:this,args:r})).then(o).catch(s)})}return t}function q(e,n={}){let t,r,o=y;const s=u=>{clearTimeout(u),o(),o=y};return u=>{const f=_(e),i=_(n.maxWait);return t&&s(t),f<=0||i!==void 0&&i<=0?(r&&(s(r),r=null),Promise.resolve(u())):new Promise((a,d)=>{o=n.rejectOnCancel?d:a,i&&!r&&(r=setTimeout(()=>{t&&s(t),r=null,a(u())},i)),t=setTimeout(()=>{r&&s(r),r=null,a(u())},f)})}}function z(e,n=!0,t=!0,r=!1){let o=0,s,l=!0,u=y,f;const i=()=>{s&&(clearTimeout(s),s=void 0,u(),u=y)};return d=>{const p=_(e),w=Date.now()-o,T=()=>f=d();if(i(),p<=0)return o=Date.now(),T();if(w>p&&(t||!l))o=Date.now(),T();else if(n)return new Promise((O,m)=>{u=r?m:O,s=setTimeout(()=>{o=Date.now(),l=!0,O(T()),i()},p-w)});return!t&&!s&&(s=setTimeout(()=>l=!0,p)),l=!1,f}}function de(e,n=!1,t="Timeout"){return new Promise((r,o)=>{setTimeout(n?()=>o(t):r,e)})}function J(e){return e}function V(e){return X()?(K(e),!0):!1}function Z(e,n=200,t={}){return R(q(n,t),e)}function k(e,n=200,t=!1,r=!0,o=!1){return R(z(n,t,r,o),e)}function ee(e,n,t={}){const{immediate:r=!0}=t,o=b(!1);let s=null;function l(){s&&(clearTimeout(s),s=null)}function u(){o.value=!1,l()}function f(...i){l(),o.value=!0,s=setTimeout(()=>{o.value=!1,s=null,e(...i)},_(n))}return r&&(o.value=!0,L&&f()),V(u),{isPending:G(o),start:f,stop:u}}var te=Object.defineProperty,Q=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,F=(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)&&F(e,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&F(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(Y(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=M(()=>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 N=1;function _e(e,n={}){const{throttle:t=0,idle:r=200,onStop:o=y,onScroll:s=y,offset:l={left:0,right:0,top:0,bottom:0},eventListenerOptions:u={capture:!1,passive:!0},behavior:f="auto"}=n,i=b(0),a=b(0),d=E({get(){return i.value},set(c){w(c,void 0)}}),p=E({get(){return a.value},set(c){w(void 0,c)}});function w(c,g){var h,v,C;const P=_(e);P&&((C=P instanceof Document?document.body:P)==null||C.scrollTo({top:(h=_(g))!=null?h:p.value,left:(v=_(c))!=null?v:d.value,behavior:_(f)}))}const T=b(!1),O=D({left:!0,right:!1,top:!0,bottom:!1}),m=D({left:!1,right:!1,top:!1,bottom:!1}),B=Z(c=>{T.value=!1,m.left=!1,m.right=!1,m.top=!1,m.bottom=!1,o(c)},t+r),x=c=>{const g=c.target===document?c.target.documentElement:c.target,h=g.scrollLeft;m.left=h<i.value,m.right=h>a.value,O.left=h<=0+(l.left||0),O.right=h+g.clientWidth>=g.scrollWidth-(l.right||0)-N,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)-N,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 W;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(W||(W={}));var le=Object.defineProperty,$=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable,j=(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)&&j(e,t,n[t]);if($)for(var t of $(n))ie.call(n,t)&&j(e,t,n[t]);return e};const fe={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};ce({linear:J},fe);export{ve as a,Z as b,me as c,de as p,_e as u};
@@ -1 +0,0 @@
1
- import{l as h,u as y}from"./session-utm.72684b84.js";import{h as g,c as b}from"./runtime-core.esm-bundler.a0432a8e.js";import{f as d}from"./ecom-utils.92f137f6.js";const v=(o,a,i=1e4)=>{let n,r;i&&(n=new AbortController,r=setTimeout(()=>{n.abort()},i)),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 l=fetch(o,{...a,signal:n?.signal});return l.finally(()=>{r&&clearTimeout(r)}),l},I={list_payments:{},calculate_shipping:{},apply_discount:{}},p=g(I);h.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)}const i=()=>{const n=[];["list_payments","calculate_shipping"].forEach(r=>{Object.keys(p[r]).length||n.push({modName:r})}),Object.keys(y).length&&n.push({modName:"apply_discount",reqOptions:{method:"post",body:{utm:y}}}),n.forEach(({modName:r,reqOptions:l})=>{v(`/api/modules/${r}`,l).then(async f=>{if(f.ok){const s={};p[r]=s;const{result:u}=await f.json();Array.isArray(u)&&u.forEach(({error:_,response:c})=>{if(!_){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)})};typeof window.requestIdleCallback=="function"?window.requestIdleCallback(i):setTimeout(i,300)}const O=(o,a,i,n=d)=>b(()=>{const r=`{{${i}}}`,l=o.indexOf(r);if(l>-1){const f=p[a][i];if(f){const s=n(f);return o.substring(0,l)+s+o.substring(l+r.length)}return""}return o}),k=o=>O(o,"calculate_shipping","free_shipping_from_value");export{p as m,k as p};
@@ -1 +0,0 @@
1
- import{D as nt,E as _,G as ht,H as st,I as x,J as bt,K as Ct,L as St,M as w,N as vt,O as Et,s as Tt,P as At,Q as Nt,F as Lt,S as _t,R as wt,T as yt,U as rt,V as Mt,W as Pt,X as Dt,Y as it,Z as It}from"./runtime-core.esm-bundler.a0432a8e.js";const Ot="http://www.w3.org/2000/svg",v=typeof document<"u"?document:null,U=v&&v.createElement("template"),$t={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const r=e?v.createElementNS(Ot,t):v.createElement(t,n?{is:n}:void 0);return t==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:t=>v.createTextNode(t),createComment:t=>v.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>v.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,r,i){const a=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{U.innerHTML=s?`<svg>${t}</svg>`:t;const f=U.content;if(s){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}e.insertBefore(f,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function xt(t,e,n){const s=t._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function Bt(t,e,n){const s=t.style,r=_(n);if(n&&!r){if(e&&!_(e))for(const i in e)n[i]==null&&I(s,i,"");for(const i in n)I(s,i,n[i])}else{const i=s.display;r?e!==n&&(s.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(s.display=i)}}const j=/\s*!important$/;function I(t,e,n){if(w(n))n.forEach(s=>I(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=Rt(t,e);j.test(n)?t.setProperty(rt(s),n.replace(j,""),"important"):t[s]=n}}const G=["Webkit","Moz","ms"],M={};function Rt(t,e){const n=M[e];if(n)return n;let s=Mt(e);if(s!=="filter"&&s in t)return M[e]=s;s=Pt(s);for(let r=0;r<G.length;r++){const i=G[r]+s;if(i in t)return M[e]=i}return e}const X="http://www.w3.org/1999/xlink";function Ft(t,e,n,s,r){if(s&&e.startsWith("xlink:"))n==null?t.removeAttributeNS(X,e.slice(6,e.length)):t.setAttributeNS(X,e,n);else{const i=Dt(e);n==null||i&&!it(n)?t.removeAttribute(e):t.setAttribute(e,i?"":n)}}function Ht(t,e,n,s,r,i,a){if(e==="innerHTML"||e==="textContent"){s&&a(s,r,i),t[e]=n??"";return}if(e==="value"&&t.tagName!=="PROGRESS"&&!t.tagName.includes("-")){t._value=n;const c=n??"";(t.value!==c||t.tagName==="OPTION")&&(t.value=c),n==null&&t.removeAttribute(e);return}let f=!1;if(n===""||n==null){const c=typeof t[e];c==="boolean"?n=it(n):n==null&&c==="string"?(n="",f=!0):c==="number"&&(n=0,f=!0)}try{t[e]=n}catch{}f&&t.removeAttribute(e)}function zt(t,e,n,s){t.addEventListener(e,n,s)}function qt(t,e,n,s){t.removeEventListener(e,n,s)}function Kt(t,e,n,s,r=null){const i=t._vei||(t._vei={}),a=i[e];if(s&&a)a.value=s;else{const[f,c]=Wt(e);if(s){const p=i[e]=Gt(s,r);zt(t,f,p,c)}else a&&(qt(t,f,a,c),i[e]=void 0)}}const J=/(?:Once|Passive|Capture)$/;function Wt(t){let e;if(J.test(t)){e={};let s;for(;s=t.match(J);)t=t.slice(0,t.length-s[0].length),e[s[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):rt(t.slice(2)),e]}let P=0;const Ut=Promise.resolve(),jt=()=>P||(Ut.then(()=>P=0),P=Date.now());function Gt(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;It(Xt(s,n.value),e,5,[s])};return n.value=t,n.attached=jt(),n}function Xt(t,e){if(w(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const Q=/^on[a-z]/,Jt=(t,e,n,s,r=!1,i,a,f,c)=>{e==="class"?xt(t,s,r):e==="style"?Bt(t,n,s):wt(e)?yt(e)||Kt(t,e,n,s,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Qt(t,e,s,r))?Ht(t,e,s,i,a,f,c):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),Ft(t,e,s,r))};function Qt(t,e,n,s){return s?!!(e==="innerHTML"||e==="textContent"||e in t&&Q.test(e)&&nt(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||Q.test(e)&&_(n)?!1:e in t}function oe(t){const e=Nt();if(!e)return;const n=e.ut=(r=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(i=>$(i,r))},s=()=>{const r=t(e.proxy);O(e.subTree,r),n(r)};Et(s),Tt(()=>{const r=new MutationObserver(s);r.observe(e.subTree.el.parentNode,{childList:!0}),At(()=>r.disconnect())})}function O(t,e){if(t.shapeFlag&128){const n=t.suspense;t=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{O(n.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(t.shapeFlag&1&&t.el)$(t.el,e);else if(t.type===Lt)t.children.forEach(n=>O(n,e));else if(t.type===_t){let{el:n,anchor:s}=t;for(;n&&($(n,e),n!==s);)n=n.nextSibling}}function $(t,e){if(t.nodeType===1){const n=t.style;for(const s in e)n.setProperty(`--${s}`,e[s])}}const g="transition",A="animation",ot=(t,{slots:e})=>ht(st,Yt(t),e);ot.displayName="Transition";const at={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};ot.props=x({},st.props,at);const C=(t,e=[])=>{w(t)?t.forEach(n=>n(...e)):t&&t(...e)},Y=t=>t?w(t)?t.some(e=>e.length>1):t.length>1:!1;function Yt(t){const e={};for(const o in t)o in at||(e[o]=t[o]);if(t.css===!1)return e;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:p=a,appearToClass:l=f,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=t,T=Zt(r),lt=T&&T[0],ut=T&&T[1],{onBeforeEnter:B,onEnter:R,onEnterCancelled:F,onLeave:H,onLeaveCancelled:pt,onBeforeAppear:dt=B,onAppear:mt=R,onAppearCancelled:gt=F}=e,y=(o,u,b)=>{S(o,u?l:f),S(o,u?p:a),b&&b()},z=(o,u)=>{o._isLeaving=!1,S(o,d),S(o,E),S(o,m),u&&u()},q=o=>(u,b)=>{const K=o?mt:R,W=()=>y(u,o,b);C(K,[u,W]),Z(()=>{S(u,o?c:i),h(u,o?l:f),Y(K)||V(u,s,lt,W)})};return x(e,{onBeforeEnter(o){C(B,[o]),h(o,i),h(o,a)},onBeforeAppear(o){C(dt,[o]),h(o,c),h(o,p)},onEnter:q(!1),onAppear:q(!0),onLeave(o,u){o._isLeaving=!0;const b=()=>z(o,u);h(o,d),te(),h(o,m),Z(()=>{o._isLeaving&&(S(o,d),h(o,E),Y(H)||V(o,s,ut,b))}),C(H,[o,b])},onEnterCancelled(o){y(o,!1),C(F,[o])},onAppearCancelled(o){y(o,!0),C(gt,[o])},onLeaveCancelled(o){z(o),C(pt,[o])}})}function Zt(t){if(t==null)return null;if(bt(t))return[D(t.enter),D(t.leave)];{const e=D(t);return[e,e]}}function D(t){return vt(t)}function h(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function S(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.remove(s));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Z(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let Vt=0;function V(t,e,n,s){const r=t._endId=++Vt,i=()=>{r===t._endId&&s()};if(n)return setTimeout(i,n);const{type:a,timeout:f,propCount:c}=kt(t,e);if(!a)return s();const p=a+"end";let l=0;const d=()=>{t.removeEventListener(p,m),i()},m=E=>{E.target===t&&++l>=c&&d()};setTimeout(()=>{l<c&&d()},f+1),t.addEventListener(p,m)}function kt(t,e){const n=window.getComputedStyle(t),s=T=>(n[T]||"").split(", "),r=s(`${g}Delay`),i=s(`${g}Duration`),a=k(r,i),f=s(`${A}Delay`),c=s(`${A}Duration`),p=k(f,c);let l=null,d=0,m=0;e===g?a>0&&(l=g,d=a,m=i.length):e===A?p>0&&(l=A,d=p,m=c.length):(d=Math.max(a,p),l=d>0?a>p?g:A:null,m=l?l===g?i.length:c.length:0);const E=l===g&&/\b(transform|all)(,|$)/.test(s(`${g}Property`).toString());return{type:l,timeout:d,propCount:m,hasTransform:E}}function k(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,s)=>tt(n)+tt(t[s])))}function tt(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function te(){return document.body.offsetHeight}const ee=["ctrl","shift","alt","meta"],ne={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>ee.some(n=>t[`${n}Key`]&&!e.includes(n))},ae=(t,e)=>(n,...s)=>{for(let r=0;r<e.length;r++){const i=ne[e[r]];if(i&&i(n,e))return}return t(n,...s)},ce={beforeMount(t,{value:e},{transition:n}){t._vod=t.style.display==="none"?"":t.style.display,n&&e?n.beforeEnter(t):N(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:s}){!e!=!n&&(s?e?(s.beforeEnter(t),N(t,!0),s.enter(t)):s.leave(t,()=>{N(t,!1)}):N(t,e))},beforeUnmount(t,{value:e}){N(t,e)}};function N(t,e){t.style.display=e?t._vod:"none"}const ct=x({patchProp:Jt},$t);let L,et=!1;function se(){return L||(L=Ct(ct))}function re(){return L=et?L:St(ct),et=!0,L}const fe=(...t)=>{const e=se().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(!r)return;const i=e._component;!nt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},le=(...t)=>{const e=re().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=ft(s);if(r)return n(r,!0,r instanceof SVGElement)},e};function ft(t){return _(t)?document.querySelector(t):t}export{ot as T,le as a,fe as c,oe as u,ce as v,ae as w};
@@ -1,111 +0,0 @@
1
- <script setup lang="ts">
2
- import type { CategoriesList } from '@cloudcommerce/api/types';
3
- import { ref, computed } from 'vue';
4
- import { i19myAccount, i19openCart, i19searchProducts } from '@@i18n';
5
- import useStickyHeader from '@@sf/composables/use-sticky-header';
6
- import Drawer from '@@sf/components/Drawer.vue';
7
- import ShopSidenav from '@@sf/components/ShopSidenav.vue';
8
-
9
- export interface Props {
10
- categories: CategoriesList;
11
- }
12
-
13
- defineProps<Props>();
14
- const buttons = ref({
15
- search: {
16
- icon: 'i-search',
17
- onClick: () => {},
18
- label: i19searchProducts,
19
- },
20
- account: {
21
- icon: 'i-account',
22
- onClick: () => {},
23
- label: i19myAccount,
24
- },
25
- cart: {
26
- icon: 'i-shopping-cart',
27
- onClick: () => {},
28
- label: i19openCart,
29
- },
30
- });
31
- const isSidenavOpen = ref(false);
32
- const header = ref<HTMLElement | null>(null);
33
- const {
34
- isSticky,
35
- staticHeight,
36
- staticY,
37
- } = useStickyHeader({ header });
38
- const sidenavHeight = computed(() => {
39
- return isSticky.value ? staticHeight.value : staticY.value;
40
- });
41
- </script>
42
-
43
- <template>
44
- <header
45
- ref="header"
46
- class="top-0 z-50 transition-colors"
47
- :class="[
48
- isSticky && !isSidenavOpen ? 'bg-white/80' : 'bg-white',
49
- isSticky ? 'backdrop-blur-md shadow py-2 md:py-3' : 'py-3 sm:py-4 md:py-5',
50
- ]"
51
- >
52
- <div class="container lg:max-w-7xl mx-auto px-1 lg:pl-3
53
- grid grid-flow-col grid-cols-3 justify-between items-center
54
- md:grid-cols-none md:auto-cols-max">
55
- <slot name="sidenav-toggle">
56
- <div class="md:hidden" data-sidenav-toggle>
57
- <button
58
- class="px-2 my-1"
59
- :aria-label="$t.i19toggleMenu"
60
- @click="isSidenavOpen = !isSidenavOpen"
61
- >
62
- <slot name="sidenav-toggle-content">
63
- <i
64
- class="text-base-500 text-3xl"
65
- :class="isSidenavOpen ? 'i-close' : 'i-menu'"
66
- ></i>
67
- </slot>
68
- </button>
69
- </div>
70
- </slot>
71
- <slot name="logo" />
72
- <slot name="nav" />
73
- <slot name="buttons">
74
- <div
75
- class="px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"
76
- data-header-buttons
77
- >
78
- <slot
79
- name="button"
80
- v-for="({ icon, onClick, label }, name) in buttons"
81
- :key="name"
82
- v-bind="{ name, icon, onClick }"
83
- >
84
- <button
85
- :class="name === 'account' ? 'hidden sm:block' : null"
86
- :aria-label="label"
87
- @click="onClick"
88
- :data-header-button="name"
89
- >
90
- <slot name="button-content" v-bind="{ name, icon }">
91
- <i
92
- :class="icon"
93
- class="hover:text-primary w-7 h-7 hover:scale-110 active:scale-125"
94
- ></i>
95
- </slot>
96
- </button>
97
- </slot>
98
- </div>
99
- </slot>
100
- </div>
101
- <Drawer
102
- v-model="isSidenavOpen"
103
- :has-close-button="false"
104
- position="absolute"
105
- class="mt-2 -z-1"
106
- :style="{ height: `calc(100vh - ${sidenavHeight}px + .5rem)` }"
107
- >
108
- <ShopSidenav class="bg-white pt-6" :categories="categories" />
109
- </Drawer>
110
- </header>
111
- </template>
@@ -1,26 +0,0 @@
1
- <script setup lang="ts">
2
- import { CategoriesList } from '@cloudcommerce/api/types';
3
-
4
- export interface Props {
5
- categories: CategoriesList;
6
- }
7
-
8
- const props = defineProps<Props>();
9
- const mainCategories = props.categories.filter(({ slug, parent }) => {
10
- return slug && !parent;
11
- });
12
- </script>
13
-
14
- <template>
15
- <aside data-sidenav>
16
- <nav class="py-5" data-sidenav-nav>
17
- <ul>
18
- <li v-for="mainCategory in mainCategories" :key="mainCategory._id">
19
- <a :href="`/${mainCategory.slug}`">
20
- {{ mainCategory.name }}
21
- </a>
22
- </li>
23
- </ul>
24
- </nav>
25
- </aside>
26
- </template>
@@ -1,5 +0,0 @@
1
- type CmsCode = typeof import('content/code.json');
2
-
3
- export default CmsCode;
4
-
5
- export type { CmsCode };
@@ -1,5 +0,0 @@
1
- type CmsContacts = typeof import('content/contacts.json');
2
-
3
- export default CmsContacts;
4
-
5
- export type { CmsContacts };
@@ -1,5 +0,0 @@
1
- type CmsHeader = typeof import('content/header.json');
2
-
3
- export default CmsHeader;
4
-
5
- export type { CmsHeader };
@@ -1,8 +0,0 @@
1
- import { CmsSettings as _CmsSettings } from '@cloudcommerce/types';
2
-
3
- type CmsSettings = _CmsSettings &
4
- Omit<typeof import('content/settings.json'), keyof _CmsSettings>;
5
-
6
- export default CmsSettings;
7
-
8
- export type { CmsSettings };
@@ -1,5 +0,0 @@
1
- type CmsSocial = typeof import('content/social.json');
2
-
3
- export default CmsSocial;
4
-
5
- export type { CmsSocial };