cloudcommerce 0.6.6 → 0.6.7

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 (58) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -1
  3. package/packages/api/package.json +1 -1
  4. package/packages/apps/correios/package.json +1 -1
  5. package/packages/apps/custom-payment/package.json +1 -1
  6. package/packages/apps/custom-shipping/package.json +1 -1
  7. package/packages/apps/datafrete/package.json +1 -1
  8. package/packages/apps/discounts/package.json +1 -1
  9. package/packages/apps/emails/package.json +1 -1
  10. package/packages/apps/fb-conversions/package.json +1 -1
  11. package/packages/apps/frenet/package.json +1 -1
  12. package/packages/apps/galaxpay/assets/onload-expression.min.js +1 -0
  13. package/packages/apps/galaxpay/package.json +1 -1
  14. package/packages/apps/google-analytics/package.json +1 -1
  15. package/packages/apps/infinitepay/package.json +1 -1
  16. package/packages/apps/jadlog/package.json +1 -1
  17. package/packages/apps/loyalty-points/package.json +1 -1
  18. package/packages/apps/melhor-envio/package.json +1 -1
  19. package/packages/apps/mercadopago/assets/onload-expression.min.js +1 -0
  20. package/packages/apps/mercadopago/package.json +1 -1
  21. package/packages/apps/pagarme/assets/onload-expression.min.js +1 -0
  22. package/packages/apps/pagarme/package.json +1 -1
  23. package/packages/apps/paghiper/package.json +1 -1
  24. package/packages/apps/pix/package.json +1 -1
  25. package/packages/apps/tiny-erp/package.json +1 -1
  26. package/packages/apps/webhooks/package.json +1 -1
  27. package/packages/cli/package.json +1 -1
  28. package/packages/config/package.json +1 -1
  29. package/packages/emails/package.json +1 -1
  30. package/packages/events/package.json +1 -1
  31. package/packages/firebase/package.json +1 -1
  32. package/packages/i18n/package.json +1 -1
  33. package/packages/modules/package.json +1 -1
  34. package/packages/passport/package.json +1 -1
  35. package/packages/ssr/package.json +1 -1
  36. package/packages/storefront/dist/client/_astro/{PitchBar.fae93937.js → PitchBar.16431255.js} +1 -1
  37. package/packages/storefront/dist/client/_astro/{Prices.c3513660.js → Prices.7368883b.js} +1 -1
  38. package/packages/storefront/dist/client/_astro/{ProductCard.943cd687.js → ProductCard.b9f8f3e7.js} +1 -1
  39. package/packages/storefront/dist/client/_astro/ShopHeader.7967a383.js +4 -0
  40. package/packages/storefront/dist/client/_astro/{_...slug_.86768317.css → _...slug_.61014c4c.css} +1 -1
  41. package/packages/storefront/dist/client/_astro/{_plugin-vue_export-helper.a7457a61.js → _plugin-vue_export-helper.3dfd3410.js} +1 -1
  42. package/packages/storefront/dist/client/_astro/{client.e1250adc.js → client.3ab4cffd.js} +1 -1
  43. package/packages/storefront/dist/client/_astro/{format-money.6379f63c.js → format-money.e75b6ce1.js} +1 -1
  44. package/packages/storefront/dist/client/_astro/{index.769c6acb.js → index.140ec818.js} +1 -1
  45. package/packages/storefront/dist/client/_astro/{modules-info.fbf28964.js → modules-info.6e650119.js} +1 -1
  46. package/packages/storefront/dist/client/_astro/{runtime-dom.esm-bundler.4e28b902.js → runtime-dom.esm-bundler.b4764bdb.js} +1 -1
  47. package/packages/storefront/dist/client/sw.js +1 -1
  48. package/packages/storefront/dist/server/chunks/pages/{all.226fa45f.mjs → all.571056bd.mjs} +771 -74
  49. package/packages/storefront/dist/server/entry.mjs +2 -2
  50. package/packages/storefront/package.json +1 -1
  51. package/packages/storefront/server.d.ts +5 -0
  52. package/packages/storefront/src/lib/components/AccountLink.vue +38 -0
  53. package/packages/storefront/src/lib/layouts/PagesHeader.astro +1 -0
  54. package/packages/storefront/src/lib/ssr-context.ts +2 -5
  55. package/packages/storefront/tailwind.config.cjs +1 -0
  56. package/packages/types/index.ts +5 -0
  57. package/packages/types/package.json +1 -1
  58. package/packages/storefront/dist/client/_astro/ShopHeader.5b3abae3.js +0 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.6.7](https://github.com/ecomplus/cloud-commerce/compare/v0.6.6...v0.6.7) (2023-02-26)
6
+
7
+
8
+ ### Features
9
+
10
+ * **storefront:** Add new `AccountLink` atomic component ([5f07602](https://github.com/ecomplus/cloud-commerce/commit/5f07602231664a2b116684da33c615c50f436585))
11
+ * **storefront:** Update pages header layout to pass `serviceLinks` prop from CMS ([8c6c8a6](https://github.com/ecomplus/cloud-commerce/commit/8c6c8a65309d6c148e176e62c8f26a0b61287667))
12
+ * **types:** Add optional app links to `CmsSettings` object typedef ([ad3cf2e](https://github.com/ecomplus/cloud-commerce/commit/ad3cf2e88125357bf0644ed7d84798aad394240d))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **apps:** Remove wrong .gitignore to publish minified assets to npm ([1ac4df9](https://github.com/ecomplus/cloud-commerce/commit/1ac4df963bad38df7b41695b06f1cea7e32da088))
18
+
5
19
  ### [0.6.6](https://github.com/ecomplus/cloud-commerce/compare/v0.6.5...v0.6.6) (2023-02-25)
6
20
 
7
21
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/correios.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Datafrete shipping gateway ",
6
6
  "main": "lib/datafrete.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders to Facebook Conversions API",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-frenet",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for Frenet shipping calculation",
6
6
  "main": "lib/frenet.js",
7
7
  "exports": {
@@ -0,0 +1 @@
1
+ window._galaxyHashcard=function(o){return new Promise((n,r)=>{var a=window._galaxPayPublicToken,e=!window._galaxPaySandbox,a=new GalaxPay(a,e),e=a.newCard({number:o.number,holder:o.name,expiresAt:`20${o.year.toString()}-`+o.month.toString(),cvv:o.cvc});a.hashCreditCard(e,a=>{n(a)},a=>{r(a)})})};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-galaxpay",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Galax Pay for recurring payments",
6
6
  "main": "lib/galaxpay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-google-analytics",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders events to GA Measurement Protocol",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-infinitepay",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate InfinitePay",
6
6
  "main": "lib/infinitepay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-jadlog",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for Jadlog shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-loyalty-points",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to handle simple loyalty points programs",
6
6
  "main": "lib/loyalty-points.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-melhor-envio",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Melhor Envio",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -0,0 +1 @@
1
+ window.Mercadopago.getIdentificationTypes(),window._mpHash=function(t){return new Promise((o,e)=>{window._mpBrand(t.number).then(()=>{return c=t,new Promise((n,o)=>{var e,t,r=window.storefrontApp["customer"],a={},d=(a.cardNumber=c.number,a.cardholderName=c.name,a.cardExpirationMonth=c.month,a.cardExpirationYear=c.year,a.securityCode=c.cvc,c.doc?a.docNumber=c.doc:a.docNumber=r.doc_number,a.email=r.main_email,a.payment_method_id=window.mpPaymentMethodId,document.createElement("form"));for(const s in a)a[s]&&(e=a[s],(t=document.createElement("input")).setAttribute("type","text"),t.setAttribute("id",s),t.setAttribute("data-checkout",s),t.setAttribute("value",e),d.appendChild(t));var i=document.createElement("select"),m=(i.setAttribute("data-checkout","docType"),document.createElement("option"));m.text="j"===r.registry_type?"CNPJ":"CPF",m.value="j"===r.registry_type?"CNPJ":"CPF",m.setAttribute("selected",!0),i.add(m),d.appendChild(i),window.Mercadopago.createToken(d,(e,t)=>{(200===e?n:o)(t)})});var c}).then(n=>{window.Mercadopago.getIssuers(window.mpPaymentMethodId,(e,t)=>{console.log(t);t=n.id+" // "+JSON.stringify({payment_method_id:window.mpPaymentMethodId,issuer:t});return o(t)})}).catch(e)})},window._mpInstallments=function(t){return new Promise((r,a)=>{window._mpBrand(t.number).then(e=>{e={payment_method_id:e,amount:t.amount};return window.Mercadopago.getInstallments(e,(e,t)=>{if(200===e){var n=[];for(let e=0;e<t[0].payer_costs.length;e++){var o=t[0].payer_costs[e];n.push({number:o.installments,tax:0<o.installment_rate,value:o.installment_amount})}r(n)}else console.log("installments method info error:",response),a(response)})}).catch(a)})},window._mpBrand=function(t){return new Promise((n,o)=>{let e=String(t);if(6<=(e=e.substring(0,6)).length)return window.Mercadopago.getPaymentMethod({bin:e},(e,t)=>{200===e?(window.mpPaymentMethodId=t[0].id,n(t[0].id)):(console.log("payment method info error:",t),o(t))});o(new Error("Failed trying installments with card number yet imcomplete"))})};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mercadopago",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mercado Pago",
6
6
  "main": "lib/mercadopago.js",
7
7
  "exports": {
@@ -0,0 +1 @@
1
+ window._pagarmeHash=function(r){return new Promise((e,n)=>{window.pagarme.client.connect({encryption_key:window._pagarmeKey}).then(e=>e.security.encrypt({card_number:r.number,card_holder_name:r.name,card_expiration_date:r.month.toString()+r.year.toString(),card_cvv:r.cvc})).then(e).catch(n)})};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pagar.me",
6
6
  "main": "lib/pagarme.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-paghiper",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate PagHiper",
6
6
  "main": "lib/paghiper.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pix",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pix API (Bacen)",
6
6
  "main": "lib/pix.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-webhooks",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app for general order webhooks",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/config",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce base config",
6
6
  "main": "lib/config.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/emails",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/events",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce app events",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/i18n",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce i18n",
6
6
  "main": "lib/all.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/modules",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce modules API",
6
6
  "main": "lib/index.cjs",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/passport",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/ssr",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.7",
5
5
  "description": "E-Com Plus Cloud Commerce storefront SSR",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1 +1 @@
1
- import{v as G}from"./runtime-dom.esm-bundler.4e28b902.js";import{p as J}from"./modules-info.fbf28964.js";import{c as g,d as R,_ as j,m as Q,o as u,a as p,p as x,e as I,n as z,j as d,q as C,s as D,u as X,v as Y,x as Z,y as ee,k as $,w as v,l as q,g as b,z as te,A as ae,B as oe,F as re,C as se,b as ne}from"./_plugin-vue_export-helper.a7457a61.js";import{u as le,a as ie,b as ue}from"./index.769c6acb.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.6379f63c.js";const ce=r=>{const s=g(()=>r.slides.map(({html:e})=>J(e).value)),a=g(()=>s.value.filter(e=>e).length);return{parsedContents:s,countValidSlides:a}},K=Symbol("carousel"),de=R({__name:"CarouselControl",props:{direction:{default:1}},setup(r,{expose:s}){s();const{changeSlide:a}=Q(K),e={changeSlide:a};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),fe=["aria-label","data-carousel-control"];function pe(r,s,a,e,n,o){return u(),p("button",{type:"button","aria-label":a.direction>0?"Próximo":"Anterior",onClick:s[0]||(s[0]=i=>e.changeSlide(a.direction)),class:z(["group absolute top-0",a.direction>0?"right-0":"left-0"]),"data-carousel-control":a.direction>0?"next":"previous"},[x(r.$slots,"default",{},()=>[I("i",{class:z(["m-0",a.direction>0?"i-chevron-right group-active:translate-x-1":"i-chevron-left group-active:-translate-x-1"])},null,2)])],10,fe)}const U=j(de,[["render",pe]]),ve=R({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:null},emits:["update:modelValue"],setup(r,{expose:s,emit:a}){s();const e=r,n=d(e.modelValue-1);C(D(e,"modelValue"),t=>{n.value=t-1}),C(n,(t,l)=>{t!==l&&a("update:modelValue",t+1)});const o=d(null),{x:i,isScrolling:f,arrivedState:S}=le(o),y=g(()=>S.left),w=g(()=>S.right),h=d([]),B=d(0),L=d(0),P=d(0),A=()=>{B.value=o.value.scrollWidth,L.value=o.value.offsetWidth},E=()=>{const t=[...o.value.children];h.value=t.map(l=>({offsetLeft:l.offsetLeft,width:l.offsetWidth}))},N=t=>{const l=t>0?n.value:n.value+t,O=h.value[l]?.width||0;return O?O*t:0},V=()=>{const t=h.value.findIndex(l=>Math.abs(l.offsetLeft-i.value)<=5);t>-1&&(n.value=t||0)},k=()=>{const t=B.value-L.value;P.value=h.value.findIndex(({offsetLeft:l})=>l>=t-5)};let c=null;const m=()=>{e.autoplay&&(clearTimeout(c),c=setTimeout(()=>{_(1)},e.autoplay))},_=t=>{if(t<0){if(y.value){k(),n.value=P.value-1,_(1);return}}else if(w.value){n.value=1,_(-1);return}const l=N(t);l&&(o.value.scrollBy({left:l,behavior:"smooth"}),m())};C(f,t=>{t?clearTimeout(c):(V(),m())});const F=d(null),H=ie(F);C(H,t=>{t?clearTimeout(c):m()});const T=()=>{o.value&&(A(),E(),V(),k())},W=ue(()=>{o.value.scrollLeft=0,T()},400);X(()=>{T(),Y(()=>{[...o.value.children].forEach(t=>{t.setAttribute("tabindex","0")})}),m(),window.addEventListener("resize",W)}),Z(()=>{window.removeEventListener("resize",W),clearTimeout(c)}),ee(K,{autoplay:D(e,"autoplay"),changeSlide:_,isBoundLeft:y,isBoundRight:w});const M={props:e,emit:a,currentIndex:n,wrapper:o,currentPos:i,isScrolling:f,arrivedState:S,isBoundLeft:y,isBoundRight:w,slidesWidth:h,wrapperScrollWidth:B,wrapperVisibleWidth:L,indexCount:P,calcWrapperWidth:A,calcSlidesWidth:E,calcNextWidth:N,calcCurrentIndex:V,calcIndexCount:k,get autoplayTimer(){return c},set autoplayTimer(t){c=t},restartAutoplay:m,changeSlide:_,carousel:F,isHovered:H,calcOnInit:T,onResize:W,CarouselControl:U};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}}),he={ref:"carousel",class:"relative","data-carousel":""};function me(r,s,a,e,n,o){return u(),p("div",he,[(u(),$(q(a.as),{ref:"wrapper",class:"flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0","data-carousel-wrapper":""},{default:v(()=>[x(r.$slots,"default")]),_:3},512)),x(r.$slots,"controls",te(ae({changeSlide:e.changeSlide,isBoundLeft:e.isBoundLeft,isBoundRight:e.isBoundRight,currentPage:e.currentIndex+1,pageCount:e.indexCount+1})),()=>[b(e.CarouselControl,{direction:-1},{default:v(()=>[x(r.$slots,"previous")]),_:3}),b(e.CarouselControl,null,{default:v(()=>[x(r.$slots,"next")]),_:3})])],512)}const _e=j(ve,[["render",me]]),xe=R({__name:"PitchBar",props:{slides:null},setup(r,{expose:s}){s();const a=r,{parsedContents:e,countValidSlides:n}=ce(a),o={props:a,parsedContents:e,countValidSlides:n,Carousel:_e,CarouselControl:U};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),be={class:"bg-base-100 relative z-1"},Ce={class:"container md:w-2/3 mx-auto px-3 py-1"},ge=["innerHTML"],Se={class:"text-xl leading-none text-base-400"};function ye(r,s,a,e,n,o){return u(),p("div",be,[I("div",Ce,[b(e.Carousel,{autoplay:e.countValidSlides>1?7e3:null},{controls:v(()=>[oe(I("div",Se,[b(e.CarouselControl,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),b(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[G,e.countValidSlides>1]])]),default:v(()=>[(u(!0),p(re,null,se(a.slides,(i,f)=>(u(),p("li",{key:f,class:"shrink-0 basis-full h-full text-center"},[(u(),$(q(i.href?"ALink":"span"),{href:i.href,target:i.target,class:z(["inline-block px-8",i.href?"hover:underline":null])},{default:v(()=>[e.parsedContents[f]?(u(),p("span",{key:0,innerHTML:e.parsedContents[f],class:"prose text-sm text-base-800"},null,8,ge)):ne("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const Ie=j(xe,[["render",ye]]);export{Ie as default};
1
+ import{v as G}from"./runtime-dom.esm-bundler.b4764bdb.js";import{p as J}from"./modules-info.6e650119.js";import{c as g,d as R,_ as j,m as Q,o as u,a as p,p as x,e as I,n as z,j as d,q as C,s as D,u as X,v as Y,x as Z,y as ee,k as $,w as v,l as q,g as b,z as te,A as ae,B as oe,F as re,C as se,b as ne}from"./_plugin-vue_export-helper.3dfd3410.js";import{u as le,a as ie,b as ue}from"./index.140ec818.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.e75b6ce1.js";const ce=r=>{const s=g(()=>r.slides.map(({html:e})=>J(e).value)),a=g(()=>s.value.filter(e=>e).length);return{parsedContents:s,countValidSlides:a}},K=Symbol("carousel"),de=R({__name:"CarouselControl",props:{direction:{default:1}},setup(r,{expose:s}){s();const{changeSlide:a}=Q(K),e={changeSlide:a};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),fe=["aria-label","data-carousel-control"];function pe(r,s,a,e,n,o){return u(),p("button",{type:"button","aria-label":a.direction>0?"Próximo":"Anterior",onClick:s[0]||(s[0]=i=>e.changeSlide(a.direction)),class:z(["group absolute top-0",a.direction>0?"right-0":"left-0"]),"data-carousel-control":a.direction>0?"next":"previous"},[x(r.$slots,"default",{},()=>[I("i",{class:z(["m-0",a.direction>0?"i-chevron-right group-active:translate-x-1":"i-chevron-left group-active:-translate-x-1"])},null,2)])],10,fe)}const U=j(de,[["render",pe]]),ve=R({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:null},emits:["update:modelValue"],setup(r,{expose:s,emit:a}){s();const e=r,n=d(e.modelValue-1);C(D(e,"modelValue"),t=>{n.value=t-1}),C(n,(t,l)=>{t!==l&&a("update:modelValue",t+1)});const o=d(null),{x:i,isScrolling:f,arrivedState:S}=le(o),y=g(()=>S.left),w=g(()=>S.right),h=d([]),B=d(0),L=d(0),P=d(0),A=()=>{B.value=o.value.scrollWidth,L.value=o.value.offsetWidth},E=()=>{const t=[...o.value.children];h.value=t.map(l=>({offsetLeft:l.offsetLeft,width:l.offsetWidth}))},N=t=>{const l=t>0?n.value:n.value+t,O=h.value[l]?.width||0;return O?O*t:0},V=()=>{const t=h.value.findIndex(l=>Math.abs(l.offsetLeft-i.value)<=5);t>-1&&(n.value=t||0)},k=()=>{const t=B.value-L.value;P.value=h.value.findIndex(({offsetLeft:l})=>l>=t-5)};let c=null;const m=()=>{e.autoplay&&(clearTimeout(c),c=setTimeout(()=>{_(1)},e.autoplay))},_=t=>{if(t<0){if(y.value){k(),n.value=P.value-1,_(1);return}}else if(w.value){n.value=1,_(-1);return}const l=N(t);l&&(o.value.scrollBy({left:l,behavior:"smooth"}),m())};C(f,t=>{t?clearTimeout(c):(V(),m())});const F=d(null),H=ie(F);C(H,t=>{t?clearTimeout(c):m()});const T=()=>{o.value&&(A(),E(),V(),k())},W=ue(()=>{o.value.scrollLeft=0,T()},400);X(()=>{T(),Y(()=>{[...o.value.children].forEach(t=>{t.setAttribute("tabindex","0")})}),m(),window.addEventListener("resize",W)}),Z(()=>{window.removeEventListener("resize",W),clearTimeout(c)}),ee(K,{autoplay:D(e,"autoplay"),changeSlide:_,isBoundLeft:y,isBoundRight:w});const M={props:e,emit:a,currentIndex:n,wrapper:o,currentPos:i,isScrolling:f,arrivedState:S,isBoundLeft:y,isBoundRight:w,slidesWidth:h,wrapperScrollWidth:B,wrapperVisibleWidth:L,indexCount:P,calcWrapperWidth:A,calcSlidesWidth:E,calcNextWidth:N,calcCurrentIndex:V,calcIndexCount:k,get autoplayTimer(){return c},set autoplayTimer(t){c=t},restartAutoplay:m,changeSlide:_,carousel:F,isHovered:H,calcOnInit:T,onResize:W,CarouselControl:U};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}}),he={ref:"carousel",class:"relative","data-carousel":""};function me(r,s,a,e,n,o){return u(),p("div",he,[(u(),$(q(a.as),{ref:"wrapper",class:"flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0","data-carousel-wrapper":""},{default:v(()=>[x(r.$slots,"default")]),_:3},512)),x(r.$slots,"controls",te(ae({changeSlide:e.changeSlide,isBoundLeft:e.isBoundLeft,isBoundRight:e.isBoundRight,currentPage:e.currentIndex+1,pageCount:e.indexCount+1})),()=>[b(e.CarouselControl,{direction:-1},{default:v(()=>[x(r.$slots,"previous")]),_:3}),b(e.CarouselControl,null,{default:v(()=>[x(r.$slots,"next")]),_:3})])],512)}const _e=j(ve,[["render",me]]),xe=R({__name:"PitchBar",props:{slides:null},setup(r,{expose:s}){s();const a=r,{parsedContents:e,countValidSlides:n}=ce(a),o={props:a,parsedContents:e,countValidSlides:n,Carousel:_e,CarouselControl:U};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),be={class:"bg-base-100 relative z-1"},Ce={class:"container md:w-2/3 mx-auto px-3 py-1"},ge=["innerHTML"],Se={class:"text-xl leading-none text-base-400"};function ye(r,s,a,e,n,o){return u(),p("div",be,[I("div",Ce,[b(e.Carousel,{autoplay:e.countValidSlides>1?7e3:null},{controls:v(()=>[oe(I("div",Se,[b(e.CarouselControl,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),b(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[G,e.countValidSlides>1]])]),default:v(()=>[(u(!0),p(re,null,se(a.slides,(i,f)=>(u(),p("li",{key:f,class:"shrink-0 basis-full h-full text-center"},[(u(),$(q(i.href?"ALink":"span"),{href:i.href,target:i.target,class:z(["inline-block px-8",i.href?"hover:underline":null])},{default:v(()=>[e.parsedContents[f]?(u(),p("span",{key:0,innerHTML:e.parsedContents[f],class:"prose text-sm text-base-800"},null,8,ge)):ne("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const Ie=j(xe,[["render",ye]]);export{Ie as default};
@@ -1 +1 @@
1
- import{m as k}from"./modules-info.fbf28964.js";import{g,c as S}from"./format-money.6379f63c.js";import{c as a,d as M,_ as T,a as i,t as o,b as u,e as h,f as C,n as I,g as L,w as D,r as z,o as l}from"./_plugin-vue_export-helper.a7457a61.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";const j=(n,c)=>{const{type:s,value:t}=c;let r;return t?(s==="percentage"?r=n*((100-t)/100):r=n-t,r>0?r:0):n},E=n=>{const c=a(()=>n.product||{price:n.price||0,base_price:n.basePrice}),s=a(()=>{const{variations:e}=c.value;if(e){const d=g(c.value);for(let v=0;v<e.length;v++)if(g({...c.value,...e[v]})>d)return!0}return!1}),t=a(()=>k.apply_discount.available_extra_discount),r=a(()=>{const e=g(c.value),d=t.value;return d&&(!d.min_amount||e>d.min_amount)?j(e,d):e}),f=a(()=>{if(S(c.value))return c.value.base_price;const e=g(c.value);return e>r.value?e:0}),m=a(()=>n.installmentsOption||k.list_payments.installments_option||{max_number:1}),b=a(()=>{if(m.value.max_number<=1)return 1;const e=m.value.min_installment||5,d=Math.round(r.value/e);return Math.min(d,m.value.max_number)}),y=a(()=>m.value.monthly_interest||0),V=a(()=>{if(b.value>=2){if(!y.value)return r.value/b.value;const e=y.value/100;return r.value*e/(1-(1+e)**-b.value)}return 0}),p=a(()=>{const e=n.discountOption||k.list_payments.discount_option;return e&&(!e.min_amount||e.min_amount<=r.value)&&(!n.isAmountTotal||e.apply_at==="total")?e:{}}),x=a(()=>{const{label:e}=p.value;return e?e.includes(" ")?e:`via ${e}`:""}),O=a(()=>j(r.value,p.value)),_=a(()=>{if(n.loyaltyPointsProgram)return n.loyaltyPointsProgram;const e=k.list_payments.loyalty_points_programs;if(e){const d=Object.keys(e);for(let v=0;v<d.length;v++){const P=e[d[v]];if(P&&P.earn_percentage>0)return P}}return{ratio:0}}),W=a(()=>_.value.min_subtotal_to_earn||0),w=a(()=>_.value.name||""),N=a(()=>_.value.earn_percentage||0),B=a(()=>N.value*_.value.ratio),A=a(()=>B.value>=1?r.value*(B.value/100):0);return{hasVariedPrices:s,salePrice:r,comparePrice:f,installmentsObject:m,installmentsNumber:b,monthlyInterest:y,installmentValue:V,discountObject:p,discountLabel:x,priceWithDiscount:O,pointsProgramObject:_,pointsMinPrice:W,pointsProgramName:w,earnPointsPercentage:N,cashbackPercentage:B,cashbackValue:A}},F=M({__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(n,{expose:c}){c();const s=n,{hasVariedPrices:t,salePrice:r,comparePrice:f,cashbackPercentage:m,cashbackValue:b,installmentsNumber:y,monthlyInterest:V,installmentValue:p,priceWithDiscount:x,discountLabel:O}=E(s),_={props:s,hasVariedPrices:t,salePrice:r,comparePrice:f,cashbackPercentage:m,cashbackValue:b,installmentsNumber:y,monthlyInterest:V,installmentValue:p,priceWithDiscount:x,discountLabel:O};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),R={key:0,class:"text-base-500 mr-1"},q={key:0},G={key:1},H={key:0},J={key:0,class:"relative z-10"},K=["data-tooltip"],Q=h("i",{class:"i-cashback mr-1"},null,-1),U={class:"font-medium"},X=h("small",null," cashback",-1),Y={key:0},Z={key:0},$={key:1},ee={key:2},te={key:0},ne={key:0},ae={key:1};function se(n,c,s,t,r,f){const m=z("Fade");return l(),i("div",{class:I(["text-base-600",s.isBig?"text-lg":null]),"data-prices":""},[t.comparePrice?(l(),i("span",R,[s.isLiteral?(l(),i("small",q,o("De "))):u("",!0),h("s",null,o(n.$money(t.comparePrice)),1),s.isLiteral?(l(),i("small",G,o(" Por"))):u("",!0)])):u("",!0),h("strong",{class:I(["inline-block text-base-800",s.isBig?"text-5xl block":null])},[t.hasVariedPrices?(l(),i("small",H,o("A partir de "))):u("",!0),C(" "+o(n.$money(t.salePrice)),1)],2),L(m,{slide:"down"},{default:D(()=>[t.cashbackValue&&s.hasCashback?(l(),i("div",J,[h("span",{"data-tooltip":"Receba $1 de volta".replace("$1",n.$percentage(t.cashbackPercentage))},[Q,h("span",U,o(n.$money(t.cashbackValue)),1),X],8,K)])):u("",!0)]),_:1}),L(m,{slide:"down"},{default:D(()=>[t.installmentValue&&s.hasPriceOptions?(l(),i("div",Y,[s.isLiteral?(l(),i("small",Z,o("Até "))):u("",!0),C(" "+o(t.installmentsNumber)+"x ",1),s.isLiteral?(l(),i("small",$,o(" De "))):u("",!0),h("span",null,o(n.$money(t.installmentValue)),1),!t.monthlyInterest&&s.isLiteral?(l(),i("small",ee,o("Sem juros"))):u("",!0)])):u("",!0)]),_:1}),L(m,{slide:"down"},{default:D(()=>[t.priceWithDiscount<t.salePrice&&s.hasPriceOptions?(l(),i("div",te,[t.discountLabel?u("",!0):(l(),i("small",ne,o("A partir de "))),h("span",null,o(n.$money(t.priceWithDiscount)),1),t.discountLabel?(l(),i("small",ae,o(` ${t.discountLabel}`),1)):u("",!0)])):u("",!0)]),_:1})],2)}const me=T(F,[["render",se]]);export{me as default};
1
+ import{m as k}from"./modules-info.6e650119.js";import{g,c as S}from"./format-money.e75b6ce1.js";import{c as a,d as M,_ as T,a as i,t as o,b as u,e as h,f as C,n as I,g as L,w as D,r as z,o as l}from"./_plugin-vue_export-helper.3dfd3410.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";const j=(n,c)=>{const{type:s,value:t}=c;let r;return t?(s==="percentage"?r=n*((100-t)/100):r=n-t,r>0?r:0):n},E=n=>{const c=a(()=>n.product||{price:n.price||0,base_price:n.basePrice}),s=a(()=>{const{variations:e}=c.value;if(e){const d=g(c.value);for(let v=0;v<e.length;v++)if(g({...c.value,...e[v]})>d)return!0}return!1}),t=a(()=>k.apply_discount.available_extra_discount),r=a(()=>{const e=g(c.value),d=t.value;return d&&(!d.min_amount||e>d.min_amount)?j(e,d):e}),f=a(()=>{if(S(c.value))return c.value.base_price;const e=g(c.value);return e>r.value?e:0}),m=a(()=>n.installmentsOption||k.list_payments.installments_option||{max_number:1}),b=a(()=>{if(m.value.max_number<=1)return 1;const e=m.value.min_installment||5,d=Math.round(r.value/e);return Math.min(d,m.value.max_number)}),y=a(()=>m.value.monthly_interest||0),V=a(()=>{if(b.value>=2){if(!y.value)return r.value/b.value;const e=y.value/100;return r.value*e/(1-(1+e)**-b.value)}return 0}),p=a(()=>{const e=n.discountOption||k.list_payments.discount_option;return e&&(!e.min_amount||e.min_amount<=r.value)&&(!n.isAmountTotal||e.apply_at==="total")?e:{}}),x=a(()=>{const{label:e}=p.value;return e?e.includes(" ")?e:`via ${e}`:""}),O=a(()=>j(r.value,p.value)),_=a(()=>{if(n.loyaltyPointsProgram)return n.loyaltyPointsProgram;const e=k.list_payments.loyalty_points_programs;if(e){const d=Object.keys(e);for(let v=0;v<d.length;v++){const P=e[d[v]];if(P&&P.earn_percentage>0)return P}}return{ratio:0}}),W=a(()=>_.value.min_subtotal_to_earn||0),w=a(()=>_.value.name||""),N=a(()=>_.value.earn_percentage||0),B=a(()=>N.value*_.value.ratio),A=a(()=>B.value>=1?r.value*(B.value/100):0);return{hasVariedPrices:s,salePrice:r,comparePrice:f,installmentsObject:m,installmentsNumber:b,monthlyInterest:y,installmentValue:V,discountObject:p,discountLabel:x,priceWithDiscount:O,pointsProgramObject:_,pointsMinPrice:W,pointsProgramName:w,earnPointsPercentage:N,cashbackPercentage:B,cashbackValue:A}},F=M({__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(n,{expose:c}){c();const s=n,{hasVariedPrices:t,salePrice:r,comparePrice:f,cashbackPercentage:m,cashbackValue:b,installmentsNumber:y,monthlyInterest:V,installmentValue:p,priceWithDiscount:x,discountLabel:O}=E(s),_={props:s,hasVariedPrices:t,salePrice:r,comparePrice:f,cashbackPercentage:m,cashbackValue:b,installmentsNumber:y,monthlyInterest:V,installmentValue:p,priceWithDiscount:x,discountLabel:O};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),R={key:0,class:"text-base-500 mr-1"},q={key:0},G={key:1},H={key:0},J={key:0,class:"relative z-10"},K=["data-tooltip"],Q=h("i",{class:"i-cashback mr-1"},null,-1),U={class:"font-medium"},X=h("small",null," cashback",-1),Y={key:0},Z={key:0},$={key:1},ee={key:2},te={key:0},ne={key:0},ae={key:1};function se(n,c,s,t,r,f){const m=z("Fade");return l(),i("div",{class:I(["text-base-600",s.isBig?"text-lg":null]),"data-prices":""},[t.comparePrice?(l(),i("span",R,[s.isLiteral?(l(),i("small",q,o("De "))):u("",!0),h("s",null,o(n.$money(t.comparePrice)),1),s.isLiteral?(l(),i("small",G,o(" Por"))):u("",!0)])):u("",!0),h("strong",{class:I(["inline-block text-base-800",s.isBig?"text-5xl block":null])},[t.hasVariedPrices?(l(),i("small",H,o("A partir de "))):u("",!0),C(" "+o(n.$money(t.salePrice)),1)],2),L(m,{slide:"down"},{default:D(()=>[t.cashbackValue&&s.hasCashback?(l(),i("div",J,[h("span",{"data-tooltip":"Receba $1 de volta".replace("$1",n.$percentage(t.cashbackPercentage))},[Q,h("span",U,o(n.$money(t.cashbackValue)),1),X],8,K)])):u("",!0)]),_:1}),L(m,{slide:"down"},{default:D(()=>[t.installmentValue&&s.hasPriceOptions?(l(),i("div",Y,[s.isLiteral?(l(),i("small",Z,o("Até "))):u("",!0),C(" "+o(t.installmentsNumber)+"x ",1),s.isLiteral?(l(),i("small",$,o(" De "))):u("",!0),h("span",null,o(n.$money(t.installmentValue)),1),!t.monthlyInterest&&s.isLiteral?(l(),i("small",ee,o("Sem juros"))):u("",!0)])):u("",!0)]),_:1}),L(m,{slide:"down"},{default:D(()=>[t.priceWithDiscount<t.salePrice&&s.hasPriceOptions?(l(),i("div",te,[t.discountLabel?u("",!0):(l(),i("small",ne,o("A partir de "))),h("span",null,o(n.$money(t.priceWithDiscount)),1),t.discountLabel?(l(),i("small",ae,o(` ${t.discountLabel}`),1)):u("",!0)])):u("",!0)]),_:1})],2)}const me=T(F,[["render",se]]);export{me as default};
@@ -1 +1 @@
1
- import d from"./Prices.c3513660.js";import{d as _,_ as u,j as o,k as m,w as a,l as f,o as P,g as r,f as l,t as n}from"./_plugin-vue_export-helper.a7457a61.js";import"./modules-info.fbf28964.js";import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.6379f63c.js";/* empty css */const b=_({__name:"ProductCard",props:{as:{default:"div"}},setup(p,{expose:s}){s();const i=o(12),e=o(!1);setTimeout(()=>{i.value=8,e.value=!0},5e3);const c={price:i,isBig:e,Prices:d};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}});function g(p,s,i,e,c,v){return P(),m(f(i.as),null,{default:a(()=>[r(e.Prices,null,{default:a(({salePrice:t})=>[l(" ProductCard "+n(t),1)]),_:1}),r(e.Prices,{product:{price:e.price}},null,8,["product"]),r(e.Prices,{price:12,"base-price":17}),r(e.Prices,{price:12,"base-price":16,"is-literal":!0}),r(e.Prices,{price:12,"is-big":e.isBig},null,8,["is-big"]),r(e.Prices,{price:14,"base-price":18,"is-big":e.isBig,"is-literal":!0},null,8,["is-big"]),r(e.Prices,{price:12,"base-price":16},{"compare-value":a(({comparePrice:t})=>[l(" x"+n(t),1)]),_:1})]),_:1})}const j=u(b,[["render",g]]);export{j as default};
1
+ import d from"./Prices.7368883b.js";import{d as _,_ as u,j as o,k as m,w as a,l as f,o as P,g as r,f as l,t as n}from"./_plugin-vue_export-helper.3dfd3410.js";import"./modules-info.6e650119.js";import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.e75b6ce1.js";/* empty css */const b=_({__name:"ProductCard",props:{as:{default:"div"}},setup(p,{expose:s}){s();const i=o(12),e=o(!1);setTimeout(()=>{i.value=8,e.value=!0},5e3);const c={price:i,isBig:e,Prices:d};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}});function g(p,s,i,e,c,v){return P(),m(f(i.as),null,{default:a(()=>[r(e.Prices,null,{default:a(({salePrice:t})=>[l(" ProductCard "+n(t),1)]),_:1}),r(e.Prices,{product:{price:e.price}},null,8,["product"]),r(e.Prices,{price:12,"base-price":17}),r(e.Prices,{price:12,"base-price":16,"is-literal":!0}),r(e.Prices,{price:12,"is-big":e.isBig},null,8,["is-big"]),r(e.Prices,{price:14,"base-price":18,"is-big":e.isBig,"is-literal":!0},null,8,["is-big"]),r(e.Prices,{price:12,"base-price":16},{"compare-value":a(({comparePrice:t})=>[l(" x"+n(t),1)]),_:1})]),_:1})}const j=u(b,[["render",g]]);export{j as default};
@@ -0,0 +1,4 @@
1
+ import{c as mt,u as ht,p as gt,b as bt}from"./index.140ec818.js";import{j as k,c as S,q as ne,u as ae,d as C,s as _t,_ as V,r as ee,o as w,k as L,w as O,a as I,n as $,$ as Ve,e as y,p as te,b as R,a0 as yt,g as T,h as Ne,l as wt,t as M,F as j,C as Y,f as Q,a1 as St,G as de,m as fe,y as ve,a2 as q,v as re,a3 as Me,a4 as xt,z as We,A as ze,a5 as Le,a6 as Fe}from"./_plugin-vue_export-helper.3dfd3410.js";import{w as kt}from"./runtime-dom.esm-bundler.b4764bdb.js";import{_ as Pt}from"./preload-helper.101896b7.js";import{i as It}from"./idle-callback.889bf0ea.js";const Ot=e=>{if(e){if(e.display_name)return e.display_name;if(e.name&&e.name.given_name)return e.name.given_name}return""},Tt=Ot,Et=e=>{const{header:n,canSetStyles:r,canCreateHeightDiv:t,isShownOnScrollDown:o}={canSetStyles:!0,canCreateHeightDiv:!0,...e},{ready:a,start:l}=mt(100,{controls:!0,immediate:!1}),s=k(0),c=k(0);let u;const{y:i}=ht(document),m=S(()=>a.value&&i.value>c.value*1.2),v=k("none");ne(m,async d=>{r&&(n.value.style.position=d?"sticky":null),u&&(u.style.height=d?`${s.value}px`:null),d?(await gt(300),v.value="opacity var(--transition-slow), transform var(--transition)"):(l(),v.value="none")});const p=k(!1);return ne(i,(d,f)=>{p.value=d>0&&d<f}),ae(()=>{const d=()=>{s.value=n.value.offsetHeight,c.value=s.value+window.pageYOffset+n.value.getBoundingClientRect().top,l()},f=n.value.getElementsByTagName("IMG");let b=!0;for(let g=0;g<f.length;g++){const _=f[g];(!_.complete||_.naturalHeight===0)&&(b=!1,_.onload=d)}b&&d(),window.addEventListener("resize",bt(d,300)),r&&(n.value.style.willChange="transform",ne([m,p],([g,_])=>{let x=null,P=null;g&&(!_||o)&&(x="0",P="translateY(-100%)"),n.value.style.opacity=x,n.value.style.transform=P}),ne(v,g=>{n.value.style.transition=g})),t&&(u=document.createElement("div"),n.value.parentElement.insertBefore(u,n.value))}),{staticHeight:s,staticY:c,isSticky:m,isScrollUp:p,transition:v}},Mt=(e,n)=>{const r=e.filter(({slug:t,parent:o})=>t&&!o);return n?.length&&r.sort((t,o)=>{const a=n.indexOf(t.slug),l=n.indexOf(o.slug);return a>-1?l===-1||a<l?-1:1:l>-1?1:0}),r},$t=(e,n,r=!1)=>{const t=e.filter(({slug:o,parent:a})=>o&&a?a._id===n._id||a.slug&&a.slug===n.slug:!1);return r&&t.sort((o,a)=>o.name<a.name?-1:1),t},Ct=({header:e,categories:n,menuCategorySlugs:r,menuRandomCategories:t=7,isAlphabeticalSortSubmenu:o})=>{const{isSticky:a,staticHeight:l,staticY:s}=Et({header:e}),c=S(()=>a.value?e.value.offsetHeight:s.value),u=Mt(n,r),i=f=>$t(n,f,!!o),m=f=>({...f,subcategories:i(f).map(b=>m(b))}),v=u.map(m);let p=0;const d=v.filter(({slug:f})=>r?.includes(f)?!0:p<t?(p+=1,!0):!1);return{isSticky:a,staticHeight:l,staticY:s,positionY:c,mainCategories:u,getSubcategories:i,getCategoryTree:m,categoryTrees:v,inlineMenuTrees:d}},At=C({__name:"Drawer",props:{modelValue:{type:Boolean,default:!1},placement:{default:"start"},position:{default:"fixed"},hasCloseButton:{type:Boolean,default:!0}},emits:["update:modelValue"],setup(e,{expose:n,emit:r}){n();const t=e,o=()=>r("update:modelValue",!1),a=k(null),l=p=>{a.value?.contains(p.target)||o()},s=p=>{p.key==="Escape"&&o()},c=k(0);ne(_t(t,"modelValue"),async p=>{p?(c.value=window.innerWidth-document.documentElement.clientWidth,document.body.style.overflow="hidden",document.body.style.paddingRight=`${c.value}px`,setTimeout(()=>{document.addEventListener("click",l,{passive:!0}),document.addEventListener("keydown",s,{passive:!0})},500)):(document.body.style.overflow=null,document.body.style.paddingRight=null,document.removeEventListener("click",l),document.removeEventListener("keydown",s))});const u=S(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"down";default:return"up"}}),i=S(()=>t.position==="fixed"),m=S(()=>t.placement==="start"||t.placement==="end"),v={props:t,emit:r,close:o,drawer:a,outsideClickListener:l,escClickListener:s,scrollbarWidth:c,slideTo:u,isFixed:i,isPlacementX:m};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),Nt=["open","data-drawer"],Lt={class:"relative h-full"},Ft=["onClick"],Dt=y("i",{class:"i-close text-base-400 text-3xl"},null,-1),Rt={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""};function jt(e,n,r,t,o,a){const l=ee("Fade");return w(),L(l,{slide:t.slideTo,speed:"slow","is-floating":""},{default:O(()=>[r.modelValue?(w(),I("dialog",{key:0,ref:"drawer",class:$(["w-screen shadow p-0 m-0 z-50",[r.position,t.isFixed?`top-0 left-0 ${t.isPlacementX?"h-screen":""}`:null,t.isPlacementX?"max-w-sm":null]]),style:Ve({maxWidth:t.isPlacementX?null:`calc(100vw - ${t.scrollbarWidth}px)`}),open:r.modelValue,"data-drawer":r.placement},[y("div",Lt,[r.hasCloseButton?(w(),I("button",{key:0,type:"button","aria-label":"Fechar",onClick:kt(t.close,["prevent"]),class:$(["absolute top-2",r.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[te(e.$slots,"close",{},()=>[Dt])],10,Ft)):R("",!0),te(e.$slots,"default")]),(w(),L(yt,{to:"#teleported-top"},[T(l,null,{default:O(()=>[r.modelValue?(w(),I("div",Rt)):R("",!0)]),_:1})]))],14,Nt)):R("",!0)]),_:3},8,["slide"])}const Bt=V(At,[["render",jt]]);globalThis.__apiCache||(globalThis.__apiCache={});const ce={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SITE:'"https://ecom2-002.web.app"',SSR:!1};class De extends Error{constructor(n,r,t,o=!1){r?(super(r.statusText),this.data=r.data,this.statusCode=r.status):super(t||"Request error"),this.config=n,this.response=r,this.isTimeout=o}}const Ht={middleware(e){const n={...e.headers};if(!e.isNoAuth)if(e.accessToken)n.Authorization=`Bearer ${e.accessToken}`;else{const a=e.authenticationId||ce.ECOM_AUTHENTICATION_ID,l=e.apiKey||ce.ECOM_API_KEY;if(a&&l){const s=`${a}:${l}`,c=typeof Buffer=="function"?Buffer.from(s).toString("base64"):btoa(s);n.Authorization=`Basic ${c}`}}let r=e.baseUrl||ce.API_BASE_URL||"https://ecomplus.io/v2";const{endpoint:t,params:o}=e;if(t!=="login"&&t!=="authenticate"&&t!=="ask-auth-callback"&&t!=="check-username"){const a=e.storeId||ce.ECOM_STORE_ID;if(!a)throw new Error("`storeId` must be set in config or `ECOM_STORE_ID` env var");r+=`/:${a}`;const l=e.lang||ce.ECOM_LANG;l&&(r+=`,lang:${l}`)}if(r+=`/${t}`,o){if(typeof o=="string")r+=`?${o}`;else if(typeof o=="object"){const a=new URLSearchParams;Object.keys(o).forEach(l=>{const s=o[l];Array.isArray(s)?s.forEach(c=>{a.append(l,c)}):a.append(l,s)}),r+=`?${a.toString()}`}}return{url:r,headers:n}}},D=async(e,n=0)=>{const{url:r,headers:t}=Ht.middleware(e),{method:o="get",timeout:a=2e4,maxRetries:l=3,cacheMaxAge:s=6e5}=e,c=o==="get"&&(e.canCache||e.canCache===void 0&&ce.SSR);let u;if(c){u=`${r}${JSON.stringify(t)}`;const b=globalThis.__apiCache[u];if(b&&Date.now()-b.timestamp<=s)return{...b.res,config:e}}const i=e.body||e.data;let m;i&&(m=JSON.stringify(i),t["Content-Type"]="application/json",t["Content-Length"]=m.length.toString());const v=new AbortController;let p=!1;const d=setTimeout(()=>{v.abort(),p=!0},a);let f;try{f=await(e.fetch||fetch)(r,{method:o,headers:t,body:m,signal:v.signal})}catch(b){throw new De(e,f,b.message,p)}if(clearTimeout(d),f){if(f.ok){const g={...f,data:await f.json()};return c&&u&&(globalThis.__apiCache[u]={timestamp:Date.now(),res:g}),{...g,config:e}}const{status:b}=f;if(l<n&&(b===429||b>=500)){const g=f.headers.get("retry-after");return new Promise((_,x)=>{setTimeout(()=>{D(e,n+1).then(_).catch(x)},g&&parseInt(g,10)||5e3)})}}try{f.data=await f?.json()}catch{}throw new De(e,f)},Ut=(e,n)=>D({...n,endpoint:e}),Vt=(e,n,r)=>D({...r,method:"post",endpoint:e,body:n}),Wt=(e,n,r)=>D({...r,method:"put",endpoint:e,body:n}),zt=(e,n,r)=>D({...r,method:"patch",endpoint:e,body:n}),Ke=(e,n)=>D({...n,method:"delete",endpoint:e});D.get=Ut;D.post=Vt;D.put=Wt;D.patch=zt;D.del=Ke;D.delete=Ke;const Kt=(e,n,r=globalThis.localStorage)=>{if(!r)return Ne(n);let t;const o=r.getItem(e);if(o)try{t=JSON.parse(o)}catch{t=null,r.removeItem(e)}const a=Ne(t||n);return ne(a,()=>{r.setItem(e,JSON.stringify(a))}),a},Ge="SESSION",Oe={customer:{display_name:"",main_email:""},auth:null},H=Kt(Ge,Oe),$e=S(()=>{const{auth:e}=H;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),Ye=S(()=>H.customer),he=S(()=>Tt(Ye.value)),Re=S({get(){return Ye.value.main_email},set(e){H.customer.main_email=e}});let oe;const Xe=S(()=>$e.value||!!oe?.currentUser?.emailVerified),Ce=()=>{H.auth=Oe.auth,H.customer=Oe.customer,localStorage.removeItem(Ge),oe.signOut()},qe=async()=>{const e=await oe.currentUser.getIdToken(),{domain:n}=window.storefront.settings;try{const r=await fetch(`https://${n}/api/passport/token`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`}});H.auth=await r.json()}catch(r){console.error(r)}},Gt=async()=>($e.value||await qe(),H.auth.access_token),Yt=async()=>{const e=await Gt(),{data:n}=await D.get(`customers/${H.auth.customer_id}`,{accessToken:e});return H.customer=n,n};let je=!1;const Je=(e=!window.location.pathname.startsWith("/app/"))=>{if(je)return;je=!0;const n=()=>Pt(()=>import("./firebase-app.7ce2ebb1.js"),[]).then(({getAuth:r,onAuthStateChanged:t,isSignInWithEmailLink:o,signInWithEmailLink:a})=>{if(oe=r(),t(oe,async l=>{if(l){if(l.displayName&&!he.value&&(H.customer.display_name=l.displayName),l.email&&(!Re.value||l.emailVerified)&&(H.customer.main_email=l.email),l.emailVerified){const s=l.email!==Re.value;(s||!$e.value)&&(await qe(),(s||!he.value)&&await Yt())}}else Ce()}),o(oe,window.location.href)){const s=new URLSearchParams(window.location.search).get("email");s&&a(oe,s,window.location.href).then(()=>window.localStorage.removeItem("emailForSignIn")).catch(console.error)}}).catch(console.error);e?It(n):n()},{settings:Be,context:qo}=globalThis.storefront,Xt=["whatsapp","instagram","facebook","twitter","youtube","tiktok","pinterest"],_e={};Xt.forEach(e=>{Be[e]&&(_e[e]=Be[e])});const qt=C({__name:"AccountLink",props:{to:null,accountUrl:{default:globalThis.storefront.settings.account_url||"/app/account"},returnUrl:{default:globalThis.location?.href},isSignUp:{type:Boolean}},setup(e,{expose:n}){n();const r=e,t=S(()=>{let a=r.accountUrl;if(!r.to)return r.isSignUp?a+="?sign_up&":a+="?",`${a}return_url=${r.returnUrl}`;const{settings:l}=globalThis.storefront;return r.to==="orders"&&l.orders_url?l.orders_url:r.to==="favorites"&&l.favorites_url?l.favorites_url:`${a}/${r.to}`}),o={props:r,href:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Jt=["href"];function Qt(e,n,r,t,o,a){return w(),I("a",{href:t.href},[te(e.$slots,"default")],8,Jt)}const Qe=V(qt,[["render",Qt]]);let pe;pe=navigator.userAgent,document.body?document.body.offsetWidth:window.screen.width;pe.includes("Safari")&&pe.includes("Chrome");const Zt=/iPad|iPhone|iPod/.test(pe)&&!window.MSStream,en=Zt||/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(pe),tn=C({__name:"SocialNetworkIcon",props:{as:{default:"i"},network:null},setup(e,{expose:n}){n();const r=e,t=S(()=>{switch(r.network){case"facebook":return"i-facebook";case"instagram":return"i-instagram";case"whatsapp":return"i-whatsapp";case"youtube":return"i-youtube";case"pinterest":return"i-pinterest";case"tiktok":return"i-tiktok";case"twitter":return"i-twitter";default:return""}}),o={props:r,iconClassName:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function nn(e,n,r,t,o,a){return w(),L(wt(r.as),{class:$(t.iconClassName)},null,8,["class"])}const on=V(tn,[["render",nn]]),rn=C({__name:"SocialNetworkLink",props:{network:null,href:null,message:null},setup(e,{expose:n}){n();const r=e,t=S(()=>{let a=r.href||_e[r.network];if(r.network==="whatsapp"){const l=a.replace(/[^+\d]/g,"");a=`https://${en?"api":"web"}.whatsapp.com/send?phone=`+encodeURIComponent(l.charAt(0)==="+"?l:`+55${l}`),r.message&&(a+=`&text=${encodeURIComponent(r.message)}`)}return a}),o={props:r,fixedHref:t,SocialNetworkIcon:on};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function an(e,n,r,t,o,a){const l=ee("ALink");return w(),L(l,{href:t.fixedHref},{default:O(()=>[te(e.$slots,"default",{},()=>[T(t.SocialNetworkIcon,{network:r.network},null,8,["network"]),te(e.$slots,"append")])]),_:3},8,["href"])}const Ze=V(rn,[["render",an]]),ln=C({__name:"ShopSidenavCategory",props:{categoryTree:null},setup(e,{expose:n}){n();const r=k(!1),t=k(!0);ne(r,a=>{a?setTimeout(()=>{t.value=!1},25):t.value=!0});const o={isOpen:r,isFaded:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),sn={class:"text-lg text-base-800"},un=["href"],cn=["href"],dn={class:"inline"};function pn(e,n,r,t,o,a){const l=ee("AImg"),s=ee("ShopSidenavCategory",!0);return w(),I("li",sn,[r.categoryTree.subcategories.length?(w(),I("details",{key:0,class:"bg-white overflow-y-auto overflow-x-hidden z-10 open:absolute open:top-0 open:left-0 open:w-full open:h-full",onToggle:n[0]||(n[0]=c=>t.isOpen=!t.isOpen)},[y("summary",{class:$(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[y("i",{class:$(t.isOpen?"i-arrow-left text-lg":"i-arrow-right float-right mb-0 mt-1 text-xl text-base-500")},null,2),!t.isOpen&&r.categoryTree.icon?(w(),L(l,{key:0,picture:r.categoryTree.icon,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):R("",!0),y("h3",{class:$(["inline",t.isOpen?"ml-4 text-base":null])},M(r.categoryTree.name),3)],2),y("ul",{class:$(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(w(!0),I(j,null,Y(r.categoryTree.subcategories,c=>(w(),L(s,{key:c._id,"category-tree":c},null,8,["category-tree"]))),128)),y("li",null,[y("a",{href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 text-base underline active:bg-base-200"},M("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,un)])],2)],32)):(w(),I("a",{key:1,href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 active:bg-base-200"},[!t.isOpen&&r.categoryTree.icon?(w(),L(l,{key:0,picture:r.categoryTree.icon,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):R("",!0),y("h3",dn,M(r.categoryTree.name),1)],8,cn))])}const fn=V(ln,[["render",pn]]),vn=C({__name:"ShopSidenav",props:{categoryTrees:null},setup(e,{expose:n}){n(),ae(()=>Je());const r={get customerName(){return he},get isLogged(){return Xe},get logout(){return Ce},get socialNetworks(){return _e},AccountLink:Qe,SocialNetworkLink:Ze,ShopSidenavCategory:fn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),mn={class:"flex flex-col h-full"},hn={class:"py-4 grow"},gn={class:"relative h-full"},bn={class:"text-base"},_n={class:"flex items-center px-2 py-4 bg-base-100"},yn=y("i",{class:"i-account text-4xl text-base-500 m-0"},null,-1),wn={class:"leading-tight"},Sn=y("small",{class:"block lowercase font-semibold text-primary"},M("Meus pedidos")+", "+M("Minha conta"),-1),xn=y("span",{class:"text-base-600"},M("Sair"),-1),kn=y("i",{class:"i-logout text-lg ml-1"},null,-1),Pn=[xn,kn],In={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function On(e,n,r,t,o,a){return w(),I("aside",mn,[y("nav",hn,[y("ul",gn,[(w(!0),I(j,null,Y(r.categoryTrees,l=>(w(),L(t.ShopSidenavCategory,{key:l._id,"category-tree":l},null,8,["category-tree"]))),128))])]),y("footer",bn,[y("div",_n,[T(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:O(()=>[yn,y("span",wn,[Q(M(`Olá ${t.customerName||"Visitante"}`)+" ",1),Sn])]),_:1}),t.isLogged?(w(),I("button",{key:0,onClick:n[0]||(n[0]=(...l)=>t.logout&&t.logout(...l)),class:"p-2 text-right text-base-800"},Pn)):R("",!0)]),y("ul",In,[(w(!0),I(j,null,Y(t.socialNetworks,(l,s)=>(w(),I("li",{key:s},[T(t.SocialNetworkLink,{network:s,class:"p-1 active:text-primary"},null,8,["network"])]))),128))])])])}const Tn=V(vn,[["render",On]]);function W(e,n,...r){if(e in n){let o=n[e];return typeof o=="function"?o(...r):o}let t=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(o=>`"${o}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,W),t}var le=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(le||{}),En=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(En||{});function z({visible:e=!0,features:n=0,ourProps:r,theirProps:t,...o}){var a;let l=tt(t,r),s=Object.assign(o,{props:l});if(e||n&2&&l.static)return Pe(s);if(n&1){let c=(a=l.unmount)==null||a?0:1;return W(c,{[0](){return null},[1](){return Pe({...o,props:{...l,hidden:!0,style:{display:"none"}}})}})}return Pe(s)}function Pe({props:e,attrs:n,slots:r,slot:t,name:o}){var a,l;let{as:s,...c}=Mn(e,["unmount","static"]),u=(a=r.default)==null?void 0:a.call(r,t),i={};if(t){let m=!1,v=[];for(let[p,d]of Object.entries(t))typeof d=="boolean"&&(m=!0),d===!0&&v.push(p);m&&(i["data-headlessui-state"]=v.join(" "))}if(s==="template"){if(u=et(u??[]),Object.keys(c).length>0||Object.keys(n).length>0){let[m,...v]=u??[];if(!$n(m)||v.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(c).concat(Object.keys(n)).map(f=>f.trim()).filter((f,b,g)=>g.indexOf(f)===b).sort((f,b)=>f.localeCompare(b)).map(f=>` - ${f}`).join(`
2
+ `),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(f=>` - ${f}`).join(`
3
+ `)].join(`
4
+ `));let p=tt((l=m.props)!=null?l:{},c),d=St(m,p);for(let f in p)f.startsWith("on")&&(d.props||(d.props={}),d.props[f]=p[f]);return d}return Array.isArray(u)&&u.length===1?u[0]:u}return de(s,Object.assign({},c,i),{default:()=>u})}function et(e){return e.flatMap(n=>n.type===j?et(n.children):[n])}function tt(...e){if(e.length===0)return{};if(e.length===1)return e[0];let n={},r={};for(let t of e)for(let o in t)o.startsWith("on")&&typeof t[o]=="function"?(r[o]!=null||(r[o]=[]),r[o].push(t[o])):n[o]=t[o];if(n.disabled||n["aria-disabled"])return Object.assign(n,Object.fromEntries(Object.keys(r).map(t=>[t,void 0])));for(let t in r)Object.assign(n,{[t](o,...a){let l=r[t];for(let s of l){if(o instanceof Event&&o.defaultPrevented)return;s(o,...a)}}});return n}function Mn(e,n=[]){let r=Object.assign({},e);for(let t of n)t in r&&delete r[t];return r}function $n(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let Cn=0;function An(){return++Cn}function X(){return An()}var E=(e=>(e.Space=" ",e.Enter="Enter",e.Escape="Escape",e.Backspace="Backspace",e.Delete="Delete",e.ArrowLeft="ArrowLeft",e.ArrowUp="ArrowUp",e.ArrowRight="ArrowRight",e.ArrowDown="ArrowDown",e.Home="Home",e.End="End",e.PageUp="PageUp",e.PageDown="PageDown",e.Tab="Tab",e))(E||{});function Nn(e){throw new Error("Unexpected object: "+e)}var F=(e=>(e[e.First=0]="First",e[e.Previous=1]="Previous",e[e.Next=2]="Next",e[e.Last=3]="Last",e[e.Specific=4]="Specific",e[e.Nothing=5]="Nothing",e))(F||{});function Ln(e,n){let r=n.resolveItems();if(r.length<=0)return null;let t=n.resolveActiveIndex(),o=t??-1,a=(()=>{switch(e.focus){case 0:return r.findIndex(l=>!n.resolveDisabled(l));case 1:{let l=r.slice().reverse().findIndex((s,c,u)=>o!==-1&&u.length-c-1>=o?!1:!n.resolveDisabled(s));return l===-1?l:r.length-1-l}case 2:return r.findIndex((l,s)=>s<=o?!1:!n.resolveDisabled(l));case 3:{let l=r.slice().reverse().findIndex(s=>!n.resolveDisabled(s));return l===-1?l:r.length-1-l}case 4:return r.findIndex(l=>n.resolveId(l)===e.id);case 5:return null;default:Nn(e)}})();return a===-1?t:a}function h(e){var n;return e==null||e.value==null?null:(n=e.value.$el)!=null?n:e.value}let nt=Symbol("Context");var U=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(U||{});function Ae(){return fe(nt,null)}function ot(e){ve(nt,e)}function He(e,n){if(e)return e;let r=n??"button";if(typeof r=="string"&&r.toLowerCase()==="button")return"button"}function rt(e,n){let r=k(He(e.value.type,e.value.as));return ae(()=>{r.value=He(e.value.type,e.value.as)}),q(()=>{var t;r.value||!h(n)||h(n)instanceof HTMLButtonElement&&!((t=h(n))!=null&&t.hasAttribute("type"))&&(r.value="button")}),r}class Fn{constructor(){this.current=this.detect(),this.currentId=0}set(n){this.current!==n&&(this.currentId=0,this.current=n)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current==="server"}get isClient(){return this.current==="client"}detect(){return typeof window>"u"||typeof document>"u"?"server":"client"}}let ye=new Fn;function se(e){if(ye.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let n=h(e);if(n)return n.ownerDocument}return document}function Dn({container:e,accept:n,walk:r,enabled:t}){q(()=>{let o=e.value;if(!o||t!==void 0&&!t.value)return;let a=se(e);if(!a)return;let l=Object.assign(c=>n(c),{acceptNode:n}),s=a.createTreeWalker(o,NodeFilter.SHOW_ELEMENT,l,!1);for(;s.nextNode();)r(s.currentNode)})}let Te=["[contentEditable=true]","[tabindex]","a[href]","area[href]","button:not([disabled])","iframe","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].map(e=>`${e}:not([tabindex='-1'])`).join(",");var B=(e=>(e[e.First=1]="First",e[e.Previous=2]="Previous",e[e.Next=4]="Next",e[e.Last=8]="Last",e[e.WrapAround=16]="WrapAround",e[e.NoScroll=32]="NoScroll",e))(B||{}),ge=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(ge||{}),Rn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Rn||{});function me(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Te)).sort((n,r)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(r.tabIndex||Number.MAX_SAFE_INTEGER)))}var we=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(we||{});function Se(e,n=0){var r;return e===((r=se(e))==null?void 0:r.body)?!1:W(n,{[0](){return e.matches(Te)},[1](){let t=e;for(;t!==null;){if(t.matches(Te))return!0;t=t.parentElement}return!1}})}function at(e){let n=se(e);re(()=>{n&&!Se(n.activeElement,0)&&jn(e)})}function jn(e){e?.focus({preventScroll:!0})}let Bn=["textarea","input"].join(",");function Hn(e){var n,r;return(r=(n=e?.matches)==null?void 0:n.call(e,Bn))!=null?r:!1}function lt(e,n=r=>r){return e.slice().sort((r,t)=>{let o=n(r),a=n(t);if(o===null||a===null)return 0;let l=o.compareDocumentPosition(a);return l&Node.DOCUMENT_POSITION_FOLLOWING?-1:l&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Un(e,n){return Z(me(),n,{relativeTo:e})}function Z(e,n,{sorted:r=!0,relativeTo:t=null,skipElements:o=[]}={}){var a;let l=(a=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e?.ownerDocument)!=null?a:document,s=Array.isArray(e)?r?lt(e):e:me(e);o.length>0&&s.length>1&&(s=s.filter(d=>!o.includes(d))),t=t??l.activeElement;let c=(()=>{if(n&5)return 1;if(n&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=(()=>{if(n&1)return 0;if(n&2)return Math.max(0,s.indexOf(t))-1;if(n&4)return Math.max(0,s.indexOf(t))+1;if(n&8)return s.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),i=n&32?{preventScroll:!0}:{},m=0,v=s.length,p;do{if(m>=v||m+v<=0)return 0;let d=u+m;if(n&16)d=(d+v)%v;else{if(d<0)return 3;if(d>=v)return 1}p=s[d],p?.focus(i),m+=c}while(p!==l.activeElement);return n&6&&Hn(p)&&p.select(),p.hasAttribute("tabindex")||p.setAttribute("tabindex","0"),2}function Ie(e,n,r){ye.isServer||q(t=>{document.addEventListener(e,n,r),t(()=>document.removeEventListener(e,n,r))})}function st(e,n,r=S(()=>!0)){function t(a,l){if(!r.value||a.defaultPrevented)return;let s=l(a);if(s===null||!s.getRootNode().contains(s))return;let c=function u(i){return typeof i=="function"?u(i()):Array.isArray(i)||i instanceof Set?i:[i]}(e);for(let u of c){if(u===null)continue;let i=u instanceof HTMLElement?u:h(u);if(i!=null&&i.contains(s)||a.composed&&a.composedPath().includes(i))return}return!Se(s,we.Loose)&&s.tabIndex!==-1&&a.preventDefault(),n(a,s)}let o=k(null);Ie("mousedown",a=>{var l,s;r.value&&(o.value=((s=(l=a.composedPath)==null?void 0:l.call(a))==null?void 0:s[0])||a.target)},!0),Ie("click",a=>{!o.value||(t(a,()=>o.value),o.value=null)},!0),Ie("blur",a=>t(a,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var be=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(be||{});let Ee=C({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:n,attrs:r}){return()=>{let{features:t,...o}=e,a={"aria-hidden":(t&2)===2?!0:void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...(t&4)===4&&(t&2)!==2&&{display:"none"}}};return z({ourProps:a,theirProps:o,slot:{},attrs:r,slots:n,name:"Hidden"})}}});function Ue(e){return[e.screenX,e.screenY]}function Vn(){let e=k([-1,-1]);return{wasMoved(n){let r=Ue(n);return e.value[0]===r[0]&&e.value[1]===r[1]?!1:(e.value=r,!0)},update(n){e.value=Ue(n)}}}function Wn(e,n,r){ye.isServer||q(t=>{window.addEventListener(e,n,r),t(()=>window.removeEventListener(e,n,r))})}var G=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(G||{});function it(){let e=k(0);return Wn("keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function zn(e,n,r,t){ye.isServer||q(o=>{e=e??window,e.addEventListener(n,r,t),o(()=>e.removeEventListener(n,r,t))})}var Kn=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Kn||{}),Gn=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(Gn||{});function Yn(e){requestAnimationFrame(()=>requestAnimationFrame(e))}let ut=Symbol("MenuContext");function xe(e){let n=fe(ut,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,xe),r}return n}let Xn=C({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(e,{slots:n,attrs:r}){let t=k(1),o=k(null),a=k(null),l=k([]),s=k(""),c=k(null),u=k(1);function i(v=p=>p){let p=c.value!==null?l.value[c.value]:null,d=lt(v(l.value.slice()),b=>h(b.dataRef.domRef)),f=p?d.indexOf(p):null;return f===-1&&(f=null),{items:d,activeItemIndex:f}}let m={menuState:t,buttonRef:o,itemsRef:a,items:l,searchQuery:s,activeItemIndex:c,activationTrigger:u,closeMenu:()=>{t.value=1,c.value=null},openMenu:()=>t.value=0,goToItem(v,p,d){let f=i(),b=Ln(v===F.Specific?{focus:F.Specific,id:p}:{focus:v},{resolveItems:()=>f.items,resolveActiveIndex:()=>f.activeItemIndex,resolveId:g=>g.id,resolveDisabled:g=>g.dataRef.disabled});s.value="",c.value=b,u.value=d??1,l.value=f.items},search(v){let p=s.value!==""?0:1;s.value+=v.toLowerCase();let d=(c.value!==null?l.value.slice(c.value+p).concat(l.value.slice(0,c.value+p)):l.value).find(b=>b.dataRef.textValue.startsWith(s.value)&&!b.dataRef.disabled),f=d?l.value.indexOf(d):-1;f===-1||f===c.value||(c.value=f,u.value=1)},clearSearch(){s.value=""},registerItem(v,p){let d=i(f=>[...f,{id:v,dataRef:p}]);l.value=d.items,c.value=d.activeItemIndex,u.value=1},unregisterItem(v){let p=i(d=>{let f=d.findIndex(b=>b.id===v);return f!==-1&&d.splice(f,1),d});l.value=p.items,c.value=p.activeItemIndex,u.value=1}};return st([o,a],(v,p)=>{var d;m.closeMenu(),Se(p,we.Loose)||(v.preventDefault(),(d=h(o))==null||d.focus())},S(()=>t.value===0)),ve(ut,m),ot(S(()=>W(t.value,{[0]:U.Open,[1]:U.Closed}))),()=>{let v={open:t.value===0,close:m.closeMenu};return z({ourProps:{},theirProps:e,slot:v,slots:n,attrs:r,name:"Menu"})}}}),qn=C({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-menu-button-${X()}`}},setup(e,{attrs:n,slots:r,expose:t}){let o=xe("MenuButton");t({el:o.buttonRef,$el:o.buttonRef});function a(u){switch(u.key){case E.Space:case E.Enter:case E.ArrowDown:u.preventDefault(),u.stopPropagation(),o.openMenu(),re(()=>{var i;(i=h(o.itemsRef))==null||i.focus({preventScroll:!0}),o.goToItem(F.First)});break;case E.ArrowUp:u.preventDefault(),u.stopPropagation(),o.openMenu(),re(()=>{var i;(i=h(o.itemsRef))==null||i.focus({preventScroll:!0}),o.goToItem(F.Last)});break}}function l(u){switch(u.key){case E.Space:u.preventDefault();break}}function s(u){e.disabled||(o.menuState.value===0?(o.closeMenu(),re(()=>{var i;return(i=h(o.buttonRef))==null?void 0:i.focus({preventScroll:!0})})):(u.preventDefault(),o.openMenu(),Yn(()=>{var i;return(i=h(o.itemsRef))==null?void 0:i.focus({preventScroll:!0})})))}let c=rt(S(()=>({as:e.as,type:n.type})),o.buttonRef);return()=>{var u;let i={open:o.menuState.value===0},{id:m,...v}=e,p={ref:o.buttonRef,id:m,type:c.value,"aria-haspopup":"menu","aria-controls":(u=h(o.itemsRef))==null?void 0:u.id,"aria-expanded":e.disabled?void 0:o.menuState.value===0,onKeydown:a,onKeyup:l,onClick:s};return z({ourProps:p,theirProps:v,slot:i,attrs:n,slots:r,name:"MenuButton"})}}}),Jn=C({name:"MenuItems",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:()=>`headlessui-menu-items-${X()}`}},setup(e,{attrs:n,slots:r,expose:t}){let o=xe("MenuItems"),a=k(null);t({el:o.itemsRef,$el:o.itemsRef}),Dn({container:S(()=>h(o.itemsRef)),enabled:S(()=>o.menuState.value===0),accept(i){return i.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:i.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(i){i.setAttribute("role","none")}});function l(i){var m;switch(a.value&&clearTimeout(a.value),i.key){case E.Space:if(o.searchQuery.value!=="")return i.preventDefault(),i.stopPropagation(),o.search(i.key);case E.Enter:if(i.preventDefault(),i.stopPropagation(),o.activeItemIndex.value!==null){let v=o.items.value[o.activeItemIndex.value];(m=h(v.dataRef.domRef))==null||m.click()}o.closeMenu(),at(h(o.buttonRef));break;case E.ArrowDown:return i.preventDefault(),i.stopPropagation(),o.goToItem(F.Next);case E.ArrowUp:return i.preventDefault(),i.stopPropagation(),o.goToItem(F.Previous);case E.Home:case E.PageUp:return i.preventDefault(),i.stopPropagation(),o.goToItem(F.First);case E.End:case E.PageDown:return i.preventDefault(),i.stopPropagation(),o.goToItem(F.Last);case E.Escape:i.preventDefault(),i.stopPropagation(),o.closeMenu(),re(()=>{var v;return(v=h(o.buttonRef))==null?void 0:v.focus({preventScroll:!0})});break;case E.Tab:i.preventDefault(),i.stopPropagation(),o.closeMenu(),re(()=>Un(h(o.buttonRef),i.shiftKey?B.Previous:B.Next));break;default:i.key.length===1&&(o.search(i.key),a.value=setTimeout(()=>o.clearSearch(),350));break}}function s(i){switch(i.key){case E.Space:i.preventDefault();break}}let c=Ae(),u=S(()=>c!==null?(c.value&U.Open)===U.Open:o.menuState.value===0);return()=>{var i,m;let v={open:o.menuState.value===0},{id:p,...d}=e,f={"aria-activedescendant":o.activeItemIndex.value===null||(i=o.items.value[o.activeItemIndex.value])==null?void 0:i.id,"aria-labelledby":(m=h(o.buttonRef))==null?void 0:m.id,id:p,onKeydown:l,onKeyup:s,role:"menu",tabIndex:0,ref:o.itemsRef};return z({ourProps:f,theirProps:d,slot:v,attrs:n,slots:r,features:le.RenderStrategy|le.Static,visible:u.value,name:"MenuItems"})}}}),Qn=C({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-menu-item-${X()}`}},setup(e,{slots:n,attrs:r,expose:t}){let o=xe("MenuItem"),a=k(null);t({el:a,$el:a});let l=S(()=>o.activeItemIndex.value!==null?o.items.value[o.activeItemIndex.value].id===e.id:!1),s=S(()=>({disabled:e.disabled,textValue:"",domRef:a}));ae(()=>{var d,f;let b=(f=(d=h(a))==null?void 0:d.textContent)==null?void 0:f.toLowerCase().trim();b!==void 0&&(s.value.textValue=b)}),ae(()=>o.registerItem(e.id,s)),Me(()=>o.unregisterItem(e.id)),q(()=>{o.menuState.value===0&&(!l.value||o.activationTrigger.value!==0&&re(()=>{var d,f;return(f=(d=h(a))==null?void 0:d.scrollIntoView)==null?void 0:f.call(d,{block:"nearest"})}))});function c(d){if(e.disabled)return d.preventDefault();o.closeMenu(),at(h(o.buttonRef))}function u(){if(e.disabled)return o.goToItem(F.Nothing);o.goToItem(F.Specific,e.id)}let i=Vn();function m(d){i.update(d)}function v(d){!i.wasMoved(d)||e.disabled||l.value||o.goToItem(F.Specific,e.id,0)}function p(d){!i.wasMoved(d)||e.disabled||!l.value||o.goToItem(F.Nothing)}return()=>{let{disabled:d}=e,f={active:l.value,disabled:d,close:o.closeMenu},{id:b,...g}=e;return z({ourProps:{id:b,ref:a,role:"menuitem",tabIndex:d===!0?void 0:-1,"aria-disabled":d===!0?!0:void 0,disabled:void 0,onClick:c,onFocus:u,onPointerenter:m,onMouseenter:m,onPointermove:v,onMousemove:v,onPointerleave:p,onMouseleave:p},theirProps:{...r,...g},slot:f,attrs:r,slots:n,name:"MenuItem"})}}});var Zn=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Zn||{});let ct=Symbol("PopoverContext");function ke(e){let n=fe(ct,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <${vt.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,ke),r}return n}let dt=Symbol("PopoverGroupContext");function pt(){return fe(dt,null)}let ft=Symbol("PopoverPanelContext");function eo(){return fe(ft,null)}let vt=C({name:"Popover",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:n,attrs:r,expose:t}){var o;let a=k(null);t({el:a,$el:a});let l=k(1),s=k(null),c=k(null),u=k(null),i=k(null),m=S(()=>se(a)),v=S(()=>{var _,x;if(!h(s)||!h(i))return!1;for(let ue of document.querySelectorAll("body > *"))if(Number(ue?.contains(h(s)))^Number(ue?.contains(h(i))))return!0;let P=me(),A=P.indexOf(h(s)),N=(A+P.length-1)%P.length,J=(A+1)%P.length,K=P[N],ie=P[J];return!((_=h(i))!=null&&_.contains(K))&&!((x=h(i))!=null&&x.contains(ie))}),p={popoverState:l,buttonId:k(null),panelId:k(null),panel:i,button:s,isPortalled:v,beforePanelSentinel:c,afterPanelSentinel:u,togglePopover(){l.value=W(l.value,{[0]:1,[1]:0})},closePopover(){l.value!==1&&(l.value=1)},close(_){p.closePopover();let x=(()=>_?_ instanceof HTMLElement?_:_.value instanceof HTMLElement?h(_):h(p.button):h(p.button))();x?.focus()}};ve(ct,p),ot(S(()=>W(l.value,{[0]:U.Open,[1]:U.Closed})));let d={buttonId:p.buttonId,panelId:p.panelId,close(){p.closePopover()}},f=pt(),b=f?.registerPopover;function g(){var _,x,P,A;return(A=f?.isFocusWithinPopoverGroup())!=null?A:((_=m.value)==null?void 0:_.activeElement)&&(((x=h(s))==null?void 0:x.contains(m.value.activeElement))||((P=h(i))==null?void 0:P.contains(m.value.activeElement)))}return q(()=>b?.(d)),zn((o=m.value)==null?void 0:o.defaultView,"focus",_=>{var x,P;l.value===0&&(g()||!s||!i||_.target!==window&&((x=h(p.beforePanelSentinel))!=null&&x.contains(_.target)||(P=h(p.afterPanelSentinel))!=null&&P.contains(_.target)||p.closePopover()))},!0),st([s,i],(_,x)=>{var P;p.closePopover(),Se(x,we.Loose)||(_.preventDefault(),(P=h(s))==null||P.focus())},S(()=>l.value===0)),()=>{let _={open:l.value===0,close:p.close};return z({theirProps:e,ourProps:{ref:a},slot:_,slots:n,attrs:r,name:"Popover"})}}}),to=C({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-popover-button-${X()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let o=ke("PopoverButton"),a=S(()=>se(o.button));t({el:o.button,$el:o.button}),ae(()=>{o.buttonId.value=e.id}),Me(()=>{o.buttonId.value=null});let l=pt(),s=l?.closeOthers,c=eo(),u=S(()=>c===null?!1:c.value===o.panelId.value),i=k(null),m=`headlessui-focus-sentinel-${X()}`;u.value||q(()=>{o.button.value=i.value});let v=rt(S(()=>({as:e.as,type:n.type})),i);function p(g){var _,x,P,A,N;if(u.value){if(o.popoverState.value===1)return;switch(g.key){case E.Space:case E.Enter:g.preventDefault(),(x=(_=g.target).click)==null||x.call(_),o.closePopover(),(P=h(o.button))==null||P.focus();break}}else switch(g.key){case E.Space:case E.Enter:g.preventDefault(),g.stopPropagation(),o.popoverState.value===1&&s?.(o.buttonId.value),o.togglePopover();break;case E.Escape:if(o.popoverState.value!==0)return s?.(o.buttonId.value);if(!h(o.button)||(A=a.value)!=null&&A.activeElement&&!((N=h(o.button))!=null&&N.contains(a.value.activeElement)))return;g.preventDefault(),g.stopPropagation(),o.closePopover();break}}function d(g){u.value||g.key===E.Space&&g.preventDefault()}function f(g){var _,x;e.disabled||(u.value?(o.closePopover(),(_=h(o.button))==null||_.focus()):(g.preventDefault(),g.stopPropagation(),o.popoverState.value===1&&s?.(o.buttonId.value),o.togglePopover(),(x=h(o.button))==null||x.focus()))}function b(g){g.preventDefault(),g.stopPropagation()}return()=>{let g=o.popoverState.value===0,_={open:g},{id:x,...P}=e,A=u.value?{ref:i,type:v.value,onKeydown:p,onClick:f}:{ref:i,id:x,type:v.value,"aria-expanded":e.disabled?void 0:o.popoverState.value===0,"aria-controls":h(o.panel)?o.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:p,onKeyup:d,onClick:f,onMousedown:b},N=it();function J(){let K=h(o.panel);if(!K)return;function ie(){W(N.value,{[G.Forwards]:()=>Z(K,B.First),[G.Backwards]:()=>Z(K,B.Last)})===ge.Error&&Z(me().filter(ue=>ue.dataset.headlessuiFocusGuard!=="true"),W(N.value,{[G.Forwards]:B.Next,[G.Backwards]:B.Previous}),{relativeTo:h(o.button)})}ie()}return de(j,[z({ourProps:A,theirProps:{...n,...P},slot:_,attrs:n,slots:r,name:"PopoverButton"}),g&&!u.value&&o.isPortalled.value&&de(Ee,{id:m,features:be.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:J})])}}});C({name:"PopoverOverlay",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0}},setup(e,{attrs:n,slots:r}){let t=ke("PopoverOverlay"),o=`headlessui-popover-overlay-${X()}`,a=Ae(),l=S(()=>a!==null?(a.value&U.Open)===U.Open:t.popoverState.value===0);function s(){t.closePopover()}return()=>{let c={open:t.popoverState.value===0};return z({ourProps:{id:o,"aria-hidden":!0,onClick:s},theirProps:e,slot:c,attrs:n,slots:r,features:le.RenderStrategy|le.Static,visible:l.value,name:"PopoverOverlay"})}}});let no=C({name:"PopoverPanel",props:{as:{type:[Object,String],default:"div"},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},focus:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-popover-panel-${X()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let{focus:o}=e,a=ke("PopoverPanel"),l=S(()=>se(a.panel)),s=`headlessui-focus-sentinel-before-${X()}`,c=`headlessui-focus-sentinel-after-${X()}`;t({el:a.panel,$el:a.panel}),ae(()=>{a.panelId.value=e.id}),Me(()=>{a.panelId.value=null}),ve(ft,a.panelId),q(()=>{var b,g;if(!o||a.popoverState.value!==0||!a.panel)return;let _=(b=l.value)==null?void 0:b.activeElement;(g=h(a.panel))!=null&&g.contains(_)||Z(h(a.panel),B.First)});let u=Ae(),i=S(()=>u!==null?(u.value&U.Open)===U.Open:a.popoverState.value===0);function m(b){var g,_;switch(b.key){case E.Escape:if(a.popoverState.value!==0||!h(a.panel)||l.value&&!((g=h(a.panel))!=null&&g.contains(l.value.activeElement)))return;b.preventDefault(),b.stopPropagation(),a.closePopover(),(_=h(a.button))==null||_.focus();break}}function v(b){var g,_,x,P,A;let N=b.relatedTarget;!N||!h(a.panel)||(g=h(a.panel))!=null&&g.contains(N)||(a.closePopover(),((x=(_=h(a.beforePanelSentinel))==null?void 0:_.contains)!=null&&x.call(_,N)||(A=(P=h(a.afterPanelSentinel))==null?void 0:P.contains)!=null&&A.call(P,N))&&N.focus({preventScroll:!0}))}let p=it();function d(){let b=h(a.panel);if(!b)return;function g(){W(p.value,{[G.Forwards]:()=>{var _;Z(b,B.First)===ge.Error&&((_=h(a.afterPanelSentinel))==null||_.focus())},[G.Backwards]:()=>{var _;(_=h(a.button))==null||_.focus({preventScroll:!0})}})}g()}function f(){let b=h(a.panel);if(!b)return;function g(){W(p.value,{[G.Forwards]:()=>{let _=h(a.button),x=h(a.panel);if(!_)return;let P=me(),A=P.indexOf(_),N=P.slice(0,A+1),J=[...P.slice(A+1),...N];for(let K of J.slice())if(K.dataset.headlessuiFocusGuard==="true"||x?.contains(K)){let ie=J.indexOf(K);ie!==-1&&J.splice(ie,1)}Z(J,B.First,{sorted:!1})},[G.Backwards]:()=>{var _;Z(b,B.Previous)===ge.Error&&((_=h(a.button))==null||_.focus())}})}g()}return()=>{let b={open:a.popoverState.value===0,close:a.close},{id:g,focus:_,...x}=e,P={ref:a.panel,id:g,onKeydown:m,onFocusout:o&&a.popoverState.value===0?v:void 0,tabIndex:-1};return z({ourProps:P,theirProps:{...n,...x},attrs:n,slot:b,slots:{...r,default:(...A)=>{var N;return[de(j,[i.value&&a.isPortalled.value&&de(Ee,{id:s,ref:a.beforePanelSentinel,features:be.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:d}),(N=r.default)==null?void 0:N.call(r,...A),i.value&&a.isPortalled.value&&de(Ee,{id:c,ref:a.afterPanelSentinel,features:be.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:f})])]}},features:le.RenderStrategy|le.Static,visible:i.value,name:"PopoverPanel"})}}});C({name:"PopoverGroup",props:{as:{type:[Object,String],default:"div"}},setup(e,{attrs:n,slots:r,expose:t}){let o=k(null),a=xt([]),l=S(()=>se(o));t({el:o,$el:o});function s(m){let v=a.value.indexOf(m);v!==-1&&a.value.splice(v,1)}function c(m){return a.value.push(m),()=>{s(m)}}function u(){var m;let v=l.value;if(!v)return!1;let p=v.activeElement;return(m=h(o))!=null&&m.contains(p)?!0:a.value.some(d=>{var f,b;return((f=v.getElementById(d.buttonId.value))==null?void 0:f.contains(p))||((b=v.getElementById(d.panelId.value))==null?void 0:b.contains(p))})}function i(m){for(let v of a.value)v.buttonId.value!==m&&v.close()}return ve(dt,{registerPopover:c,unregisterPopover:s,isFocusWithinPopoverGroup:u,closeOthers:i}),()=>z({ourProps:{ref:o},theirProps:e,slot:{},attrs:n,slots:r,name:"PopoverGroup"})}});const oo=e=>{const n=S(()=>e.categoryTree.pictures?.[0]),r=S(()=>e.categoryTree.subcategories.filter(({subcategories:c})=>c.length)),t=S(()=>{let c=r.value.length;return n.value&&(c+=1),r.value.length<e.categoryTree.subcategories.length&&(c+=1),c}),o=S(()=>(e.megaMenuMaxCols||7)>=t.value),a=S(()=>o.value?e.categoryTree.subcategories.filter(({subcategories:c})=>!c.length):e.categoryTree.subcategories),l=S(()=>o.value?e.categoryTree.subcategories.filter(({subcategories:c})=>c.length):e.categoryTree.subcategories),s=S(()=>o.value?t.value:n.value?2:1);return{categoryPicture:n,isMegaMenu:o,subcategoryLinks:a,subcategoryCols:l,countMenuCols:s}},ro=C({__name:"ShopHeaderSubmenu",props:{categoryTree:null},setup(e,{expose:n}){n();const r=e,{categoryPicture:t,subcategoryLinks:o,subcategoryCols:a,countMenuCols:l}=oo(r),s={props:r,categoryPicture:t,subcategoryLinks:o,subcategoryCols:a,countMenuCols:l,get Popover(){return vt},get PopoverButton(){return to},get PopoverPanel(){return no}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),ao={class:"relative"},lo={class:"flex gap-6 w-full"},so={key:0,class:"flex-1"},io=["href"],uo=["href"],co={class:"text-sm text-base-600 mt-1 mb-1.5"},po=["href"],fo=["href"];function vo(e,n,r,t,o,a){const l=ee("AImg"),s=ee("Fade");return w(),L(t.Popover,null,{default:O(({open:c})=>[T(t.PopoverButton,{class:"outline-none"},{default:O(()=>[te(e.$slots,"button",We(ze({open:c})))]),_:2},1024),y("div",ao,[T(s,null,{default:O(()=>[T(t.PopoverPanel,{class:$(["absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform px-6 py-4 rounded-md shadow bg-white text-base text-base-700",t.countMenuCols===1?"w-60":t.countMenuCols===2?`w-screen ${t.categoryPicture?"max-w-lg":"max-w-sm"}`:t.countMenuCols===3?`w-screen ${t.categoryPicture?"max-w-xl":"max-w-md"}`:t.countMenuCols<6?"w-screen max-w-3xl":"w-screen max-w-5xl"])},{default:O(()=>[y("div",lo,[t.subcategoryLinks.length?(w(),I("ul",so,[(w(!0),I(j,null,Y(t.subcategoryLinks,(u,i)=>(w(),I("li",{key:`link-${i}`,class:$(t.subcategoryLinks.length>10?"text-sm mb-1":"mb-2")},[y("a",{href:`/${u.slug}`,class:"hover:text-primary"},[y("h3",null,M(u.name),1)],8,io)],2))),128))])):R("",!0),(w(!0),I(j,null,Y(t.subcategoryCols,(u,i)=>(w(),I("div",{key:u._id,class:"flex-1"},[y("a",{href:`/${u.slug}`,class:"hover:text-primary"},[y("h3",null,M(u.name),1)],8,uo),y("ul",co,[(w(!0),I(j,null,Y(u.subcategories,(m,v)=>(w(),I("li",{key:`${i}-${v}`,class:"mb-0.5"},[y("a",{href:`/${m.slug}`,class:"hover:text-primary hover:underline"},[y("h3",null,M(m.name),1)],8,po)]))),128))])]))),128)),t.categoryPicture?(w(),I("div",{key:1,class:$(t.countMenuCols===2?"basis-1/2":t.countMenuCols<5?"basis-2/5":"basis-1/3")},[T(l,{picture:t.categoryPicture,class:"ml-auto rounded"},null,8,["picture"])],2)):R("",!0)]),y("a",{href:`/${r.categoryTree.slug}`,class:"block mt-1 text-xs text-base-600 leading-snug underline"},M("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,fo)]),_:1},8,["class"])]),_:1})])]),_:3})}const mo=V(ro,[["render",vo]]),ho=C({__name:"ShopHeaderMenu",props:{inlineMenuTrees:null},setup(e,{expose:n}){n();const r=e,t=S(()=>!!r.inlineMenuTrees.find(({subcategories:a})=>!a.length)),o={props:r,hasOneLevelSubcategories:t,ShopHeaderSubmenu:mo};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),go={class:"hover:text-primary group"},bo=["href"],_o={class:"inline"};function yo(e,n,r,t,o,a){return w(),I("nav",null,[y("ul",{class:$(["flex gap-4 xl:gap-5 text-base-700",r.inlineMenuTrees.length<7?"text-base":"text-sm"])},[(w(!0),I(j,null,Y(r.inlineMenuTrees,(l,s)=>(w(),I("li",{key:s},[l.subcategories.length?(w(),L(t.ShopHeaderSubmenu,{key:0,"category-tree":l},{button:O(({open:c})=>[y("span",go,[y("h3",{class:$(["group-hover:underline inline",[r.inlineMenuTrees.length<7?"decoration-2":null,c?"underline":null]])},M(l.name),3),t.hasOneLevelSubcategories?(w(),I("i",{key:0,class:$(["i-chevron-down ml-1 transition-transform text-base-400 group-hover:text-primary-subtle",c?"rotate-180":null])},null,2)):R("",!0)])]),_:2},1032,["category-tree"])):(w(),I("a",{key:1,href:`/${l.slug}`,class:"hover:text-primary hover:underline decoration-2"},[y("h3",_o,M(l.name),1)],8,bo))]))),128))],2)])}const wo=V(ho,[["render",yo]]),So={},xo={class:"w-full h-40 bg-base-300"};function ko(e,n){return w(),I("div",xo)}const Po=V(So,[["render",ko]]),Io=C({__name:"AccountMenu",props:{serviceLinks:null},setup(e,{expose:n}){n();const r={get Menu(){return Xn},get MenuButton(){return qn},get MenuItems(){return Jn},get MenuItem(){return Qn},get socialNetworks(){return _e},get customerName(){return he},get initializeFirebaseAuth(){return Je},get isLogged(){return Xe},get logout(){return Ce},AccountLink:Qe,SocialNetworkLink:Ze};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Oo={key:0},To={class:"p-3 text-base-600"},Eo={class:"list-none"},Mo=y("i",{class:"i-favorites mr-1"},null,-1),$o={class:"flex justify-center gap-2 p-2 text-base-500 text-base"},Co=y("span",{class:"text-base-600"},M("Sair"),-1),Ao=y("i",{class:"i-logout text-lg ml-1"},null,-1),No=[Co,Ao];function Lo(e,n,r,t,o,a){const l=ee("ALink"),s=ee("Fade");return w(),L(t.Menu,{as:"div",class:"relative text-center text-sm text-base-800"},{default:O(({open:c})=>[c?(w(),I("div",Oo,[n[0]||(Le(-1),n[0]=y("span",null,[Q(M(t.initializeFirebaseAuth()),1)]),Le(1),n[0])])):R("",!0),T(t.MenuButton,{class:"outline-none"},{default:O(()=>[te(e.$slots,"button",We(ze({open:c})))]),_:2},1024),T(s,null,{default:O(()=>[T(t.MenuItems,{class:"absolute -right-8 mt-2 w-56 rounded-md shadow ring-1 ring-black ring-opacity-5 bg-white divide-y divide-base-100 focus:outline-none"},{default:O(()=>[y("div",To,[Q(M(`Olá ${t.customerName||"Visitante"}`)+" ",1),T(t.AccountLink,{class:"block py-1.5 rounded primary hover:primary-bold my-1"},{default:O(()=>[Q(M("Acessar minha conta"))]),_:1}),t.isLogged?R("",!0):(w(),L(t.AccountLink,{key:0,class:"block font-medium text-primary hover:text-primary-bold","is-sign-up":""},{default:O(()=>[Q(M("Criar uma conta"))]),_:1}))]),y("ul",Eo,[T(t.MenuItem,{as:"li"},{default:O(({active:u})=>[T(t.AccountLink,{to:"orders",class:$(["block p-2",u?"bg-base-100 text-primary":null])},{default:O(()=>[Q(M("Meus pedidos"))]),_:2},1032,["class"])]),_:1}),T(t.MenuItem,{as:"li"},{default:O(({active:u})=>[T(t.AccountLink,{to:"favorites",class:$(["block p-2",u?"bg-base-100 text-primary":null])},{default:O(()=>[Mo,Q(" "+M("Meus favoritos"))]),_:2},1032,["class"])]),_:1}),(w(!0),I(j,null,Y(r.serviceLinks,({title:u,href:i},m)=>(w(),L(t.MenuItem,{as:"li",key:`s-${m}`},{default:O(({active:v})=>[T(l,{href:i,class:$(["block p-2",v?"bg-base-100 text-primary":null])},{default:O(()=>[Q(M(u),1)]),_:2},1032,["href","class"])]),_:2},1024))),128)),T(t.MenuItem,{as:"li"},{default:O(()=>[y("div",$o,[(w(!0),I(j,null,Y(t.socialNetworks,(u,i)=>(w(),I("span",{key:i},[T(t.SocialNetworkLink,{network:i,class:"p-1 hover:text-primary"},null,8,["network"])]))),128))])]),_:1}),t.isLogged?(w(),L(t.MenuItem,{key:0,as:"li"},{default:O(()=>[y("button",{onClick:n[1]||(n[1]=(...u)=>t.logout&&t.logout(...u)),class:"p-2 text-right text-base-800"},No)]),_:1})):R("",!0)])]),_:1})]),_:1})]),_:3})}const Fo=V(Io,[["render",Lo]]),Do=C({__name:"ShopHeader",props:{categories:null,menuCategorySlugs:null,menuRandomCategories:null,isAlphabeticalSortSubmenu:{type:Boolean},serviceLinks:null},setup(e,{expose:n}){n();const r=e,t=k(null),{isSticky:o,positionY:a,categoryTrees:l,inlineMenuTrees:s}=Ct({...r,header:t}),c=k(!1),u=k(!1),i={props:r,header:t,isSticky:o,positionY:a,categoryTrees:l,inlineMenuTrees:s,isSidenavOpen:c,isSearchOpen:u,Drawer:Bt,ShopSidenav:Tn,ShopHeaderMenu:wo,SearchModal:Po,AccountMenu:Fo};return Object.defineProperty(i,"__isScriptSetup",{enumerable:!1,value:!0}),i}}),Ro={class:"container lg:max-w-7xl mx-auto px-1 lg:pl-3 grid grid-flow-col grid-cols-3 justify-between items-center lg:grid-cols-none lg:auto-cols-max"},jo={class:"lg:hidden"},Bo={class:"px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"},Ho=y("i",{class:"i-search w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"},null,-1),Uo=[Ho],Vo=y("button",{"aria-label":"Abrir carrinho"},[y("i",{class:"i-shopping-cart w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"})],-1);function Wo(e,n,r,t,o,a){return w(),I("header",{ref:"header",class:$(["top-0 z-50 transition-colors",[t.isSticky&&!t.isSidenavOpen?"bg-white/80":"bg-white",t.isSticky?"backdrop-blur-md shadow py-2 md:py-3":"py-3 sm:py-4 md:py-5"]])},[y("div",Ro,[y("div",jo,[y("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=l=>t.isSidenavOpen=!t.isSidenavOpen)},[y("i",{class:$(["text-base-500 text-3xl",t.isSidenavOpen?"i-close":"i-menu"])},null,2)])]),te(e.$slots,"logo"),T(t.ShopHeaderMenu,Fe({class:"hidden lg:block"},{inlineMenuTrees:t.inlineMenuTrees}),null,16),y("div",Bo,[y("button",{"aria-label":"Buscar produtos",onClick:n[1]||(n[1]=l=>t.isSearchOpen=!t.isSearchOpen)},Uo),T(t.AccountMenu,{class:"hidden sm:block","aria-label":"Minha conta","service-links":r.serviceLinks},{button:O(({open:l})=>[y("i",{class:$(["i-account w-7 h-7 hover:text-primary hover:scale-110 active:scale-125",l?"text-black scale-110":null])},null,2)]),_:1},8,["service-links"]),Vo])]),T(t.Drawer,{modelValue:t.isSidenavOpen,"onUpdate:modelValue":n[2]||(n[2]=l=>t.isSidenavOpen=l),"has-close-button":!1,position:"absolute",class:$(t.isSticky?"mt-2 md:mt-3":"mt-3 sm:mt-4 md:mt-5"),style:Ve({height:`calc(100vh - ${t.positionY}px + .5rem)`})},{default:O(()=>[T(t.ShopSidenav,Fe({class:"bg-white pt-6"},{categoryTrees:t.categoryTrees}),null,16)]),_:1},8,["modelValue","class","style"]),T(t.Drawer,{modelValue:t.isSearchOpen,"onUpdate:modelValue":n[3]||(n[3]=l=>t.isSearchOpen=l),"has-close-button":!1,placement:"top"},{default:O(()=>[T(t.SearchModal)]),_:1},8,["modelValue"])],2)}const Jo=V(Do,[["render",Wo]]);export{Jo as default};