cloudcommerce 0.25.0 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/.github/workflows/test-e2e.yml +2 -2
  2. package/CHANGELOG.md +32 -0
  3. package/action.yml +2 -2
  4. package/ecomplus-stores/barra-doce/.idx/dev.nix +24 -0
  5. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  6. package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/contato.json +11 -0
  7. package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/terms.json +11 -0
  8. package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/trocas.json +11 -0
  9. package/ecomplus-stores/barra-doce/functions/ssr/content/layout.json +30 -0
  10. package/ecomplus-stores/barra-doce/functions/ssr/content/settings.json +3 -3
  11. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  12. package/ecomplus-stores/barra-doce/functions/ssr/src/assets/style.css +2 -2
  13. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopFooter.vue +149 -0
  14. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +2 -2
  15. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageFooter.astro +68 -0
  16. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +1 -1
  17. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/index.astro +2 -0
  18. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  19. package/ecomplus-stores/barra-doce/package.json +2 -2
  20. package/ecomplus-stores/iluminim/.idx/dev.nix +24 -0
  21. package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
  22. package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/contato.json +11 -0
  23. package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/terms.json +11 -0
  24. package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/trocas.json +11 -0
  25. package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +30 -0
  26. package/ecomplus-stores/iluminim/functions/ssr/package.json +6 -6
  27. package/ecomplus-stores/iluminim/functions/ssr/src/assets/style.css +2 -2
  28. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopFooter.vue +149 -0
  29. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +2 -2
  30. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageFooter.astro +68 -0
  31. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +1 -1
  32. package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +2 -0
  33. package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
  34. package/ecomplus-stores/iluminim/package.json +2 -2
  35. package/ecomplus-stores/monocard/.idx/dev.nix +24 -0
  36. package/ecomplus-stores/tia-sonia/.idx/dev.nix +24 -0
  37. package/package.json +6 -6
  38. package/packages/api/package.json +1 -1
  39. package/packages/apps/affilate-program/package.json +1 -1
  40. package/packages/apps/correios/package.json +5 -3
  41. package/packages/apps/correios/tests/calculate-shipping.test.mjs +45 -0
  42. package/packages/apps/custom-payment/package.json +1 -1
  43. package/packages/apps/custom-shipping/package.json +4 -2
  44. package/packages/apps/custom-shipping/tests/calculate-shipping.test.mjs +37 -0
  45. package/packages/apps/datafrete/package.json +2 -2
  46. package/packages/apps/discounts/package.json +1 -1
  47. package/packages/apps/emails/package.json +1 -1
  48. package/packages/apps/fb-conversions/package.json +1 -1
  49. package/packages/apps/flash-courier/package.json +2 -2
  50. package/packages/apps/frenet/package.json +2 -2
  51. package/packages/apps/galaxpay/package.json +2 -2
  52. package/packages/apps/google-analytics/package.json +2 -2
  53. package/packages/apps/jadlog/package.json +2 -2
  54. package/packages/apps/loyalty-points/package.json +4 -2
  55. package/packages/apps/loyalty-points/tests/1-list-payments.test.mjs +37 -0
  56. package/packages/apps/loyalty-points/tests/2-create-transaction.test.mjs +41 -0
  57. package/packages/apps/melhor-envio/package.json +2 -2
  58. package/packages/apps/mercadopago/package.json +5 -3
  59. package/packages/apps/mercadopago/tests/1-list-payments.test.mjs +37 -0
  60. package/packages/apps/mercadopago/tests/2-create-transaction.test.mjs +42 -0
  61. package/packages/apps/pagarme/package.json +2 -2
  62. package/packages/apps/paghiper/package.json +2 -2
  63. package/packages/apps/pix/package.json +2 -2
  64. package/packages/apps/tiny-erp/package.json +2 -2
  65. package/packages/apps/webhooks/package.json +2 -2
  66. package/packages/cli/package.json +1 -1
  67. package/packages/config/package.json +1 -1
  68. package/packages/emails/package.json +2 -2
  69. package/packages/eslint/package.json +4 -4
  70. package/packages/events/package.json +1 -1
  71. package/packages/feeds/package.json +1 -1
  72. package/packages/firebase/package.json +2 -2
  73. package/packages/i18n/lib/en_us/i19allProducts.txt +1 -0
  74. package/packages/i18n/lib/en_us/i19institutional.txt +1 -0
  75. package/packages/i18n/lib/en_us.d.ts +2 -0
  76. package/packages/i18n/lib/en_us.js +2 -0
  77. package/packages/i18n/lib/en_us.js.map +1 -1
  78. package/packages/i18n/lib/pt_br/i19allProducts.txt +1 -0
  79. package/packages/i18n/lib/pt_br/i19institutional.txt +1 -0
  80. package/packages/i18n/lib/pt_br.d.ts +2 -0
  81. package/packages/i18n/lib/pt_br.js +2 -0
  82. package/packages/i18n/lib/pt_br.js.map +1 -1
  83. package/packages/i18n/package.json +1 -1
  84. package/packages/i18n/src/en_us.ts +2 -0
  85. package/packages/i18n/src/pt_br.ts +2 -0
  86. package/packages/modules/package.json +4 -3
  87. package/packages/modules/tests/modules.test.mjs +7 -8
  88. package/packages/passport/package.json +1 -1
  89. package/packages/ssr/lib/firebase/serve-storefront.js +21 -14
  90. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  91. package/packages/ssr/package.json +6 -5
  92. package/packages/ssr/src/firebase/serve-storefront.ts +20 -14
  93. package/packages/storefront/config/storefront.cms.js +3 -1
  94. package/packages/storefront/dist/client/_astro/{Carousel.63d511ab.js → Carousel.926668f2.js} +1 -1
  95. package/packages/storefront/dist/client/_astro/CartSidebar.eadba34f.js +1 -0
  96. package/packages/storefront/dist/client/_astro/HeroSlider.1f0524aa.js +1 -0
  97. package/packages/storefront/dist/client/_astro/PitchBar.7407eeaf.js +1 -0
  98. package/packages/storefront/dist/client/_astro/Prices.562a32ab.js +1 -0
  99. package/packages/storefront/dist/client/_astro/ProductShelf.763cd2ca.js +1 -0
  100. package/packages/storefront/dist/client/_astro/SearchModal.cffd4c2d.js +1 -0
  101. package/packages/storefront/dist/client/_astro/ShopHeader.126900a6.js +4 -0
  102. package/packages/storefront/dist/client/_astro/_...slug_.36cd433d.css +1 -0
  103. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.ee681fa8.js +1 -0
  104. package/packages/storefront/dist/client/_astro/api.a2eda23e.js +1 -0
  105. package/packages/storefront/dist/client/_astro/client.e6d9439a.js +1 -0
  106. package/packages/storefront/dist/client/_astro/{firebase-app.1df8af9a.js → firebase-app.93857bfb.js} +121 -91
  107. package/packages/storefront/dist/client/_astro/format-money.923559cc.js +1 -0
  108. package/packages/storefront/dist/client/_astro/img.ec6ba316.js +1 -0
  109. package/packages/storefront/dist/client/_astro/index.709ac149.js +1 -0
  110. package/packages/storefront/dist/client/_astro/modules-info.48980668.js +1 -0
  111. package/packages/storefront/dist/client/manifest.webmanifest +1 -1
  112. package/packages/storefront/dist/client/sw.js +1 -1
  113. package/packages/storefront/dist/server/chunks/CartSidebar.2b555408.mjs +393 -0
  114. package/packages/storefront/dist/server/chunks/SearchModal.f418e188.mjs +44 -0
  115. package/packages/storefront/dist/server/chunks/_...d32bcc0c.mjs +35 -0
  116. package/packages/storefront/dist/server/chunks/{account@_@astro.a02ffb0b.mjs → account@_@astro.0106855f.mjs} +12 -4
  117. package/packages/storefront/dist/server/chunks/{astro.a7611b51.mjs → astro.bb5b7191.mjs} +141 -91
  118. package/packages/storefront/dist/server/chunks/{_...5323ec5a.mjs → endpoint@_@js.35807882.mjs} +12 -4
  119. package/packages/storefront/dist/server/chunks/{index@_@astro.d898498a.mjs → index@_@astro.477f5af1.mjs} +12 -4
  120. package/packages/storefront/dist/server/chunks/{index@_@astro.42c693b9.mjs → index@_@astro.e5a61d6e.mjs} +12 -4
  121. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.0f33557e.mjs → _...slug_.astro.fd8a229f.mjs} +673 -937
  122. package/packages/storefront/dist/server/chunks/pages/{account.astro.9325adb2.mjs → account.astro.3b21bff8.mjs} +1 -1
  123. package/packages/storefront/dist/server/chunks/pages/endpoint.js.247079ba.mjs +119 -0
  124. package/packages/storefront/dist/server/chunks/pages/{index.astro.0f31fa39.mjs → index.astro.dab642f5.mjs} +605 -58
  125. package/packages/storefront/dist/server/chunks/pages/{~fallback.astro.bd93f01e.mjs → ~fallback.astro.7630c0d6.mjs} +25 -7
  126. package/packages/storefront/dist/server/chunks/{~fallback@_@astro.d17419ae.mjs → ~fallback@_@astro.65227dd7.mjs} +12 -4
  127. package/packages/storefront/dist/server/entry.mjs +28 -11
  128. package/packages/storefront/dist/server/manifest.webmanifest +1 -1
  129. package/packages/storefront/dist/server/renderers.mjs +80 -25
  130. package/packages/storefront/package.json +7 -6
  131. package/packages/storefront/src/lib/components/SharedData.astro +1 -1
  132. package/packages/storefront/src/lib/composables/use-shared-data.ts +18 -3
  133. package/packages/storefront/src/lib/content.d.ts +36 -2
  134. package/packages/storefront/src/lib/layouts/Base.astro +3 -2
  135. package/packages/storefront/src/lib/layouts/use-page-main.ts +2 -2
  136. package/packages/test-base/CHANGELOG.md +1 -0
  137. package/packages/test-base/README.md +7 -0
  138. package/packages/test-base/lib/endpoints.js +23 -0
  139. package/packages/test-base/lib/endpoints.js.map +1 -0
  140. package/packages/test-base/lib/index.js +4 -0
  141. package/packages/test-base/lib/index.js.map +1 -0
  142. package/packages/test-base/lib/playloads.js +14 -0
  143. package/packages/test-base/lib/playloads.js.map +1 -0
  144. package/packages/test-base/package.json +28 -0
  145. package/packages/test-base/payloads/calculate-shipping.json +37 -0
  146. package/packages/test-base/payloads/create-transaction.json +116 -0
  147. package/packages/test-base/payloads/list-payments.json +125 -0
  148. package/packages/test-base/src/endpoints.ts +37 -0
  149. package/packages/test-base/src/index.ts +3 -0
  150. package/packages/test-base/src/playloads.ts +24 -0
  151. package/packages/test-base/tsconfig.json +3 -0
  152. package/packages/types/package.json +1 -1
  153. package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/.gitkeep +0 -0
  154. package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/.gitkeep +0 -0
  155. package/packages/storefront/dist/client/_astro/HeroSlider.8d2ea532.js +0 -1
  156. package/packages/storefront/dist/client/_astro/PitchBar.c2a2ad79.js +0 -1
  157. package/packages/storefront/dist/client/_astro/Prices.8572765c.js +0 -1
  158. package/packages/storefront/dist/client/_astro/ProductShelf.4a105932.js +0 -1
  159. package/packages/storefront/dist/client/_astro/ShopHeader.2400b065.js +0 -4
  160. package/packages/storefront/dist/client/_astro/_...slug_.a786e016.css +0 -1
  161. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.48e557ba.js +0 -1
  162. package/packages/storefront/dist/client/_astro/client.9dbf6b61.js +0 -1
  163. package/packages/storefront/dist/client/_astro/ecom-icon_CDmhA.png +0 -0
  164. package/packages/storefront/dist/client/_astro/ecom-icon_Z27EX9f.png +0 -0
  165. package/packages/storefront/dist/client/_astro/ecom-icon_Zo1CLq.png +0 -0
  166. package/packages/storefront/dist/client/_astro/headphone_22qtrt.avif +0 -0
  167. package/packages/storefront/dist/client/_astro/headphone_247ud8.avif +0 -0
  168. package/packages/storefront/dist/client/_astro/headphone_Z1hoMcQ.webp +0 -0
  169. package/packages/storefront/dist/client/_astro/headphone_Z1j5MXv.webp +0 -0
  170. package/packages/storefront/dist/client/_astro/img.7def76a1.js +0 -1
  171. package/packages/storefront/dist/client/_astro/index.c0c35ead.js +0 -1
  172. package/packages/storefront/dist/client/_astro/logo_144owC.webp +0 -0
  173. package/packages/storefront/dist/client/_astro/logo_1ug3XF.png +0 -0
  174. package/packages/storefront/dist/client/_astro/logo_Z1EIN1I.avif +0 -0
  175. package/packages/storefront/dist/client/_astro/passion_29BEzB.webp +0 -0
  176. package/packages/storefront/dist/client/_astro/passion_2sykkb.avif +0 -0
  177. package/packages/storefront/dist/client/_astro/passion_HYj6i.webp +0 -0
  178. package/packages/storefront/dist/client/_astro/passion_Z18ANwS.avif +0 -0
  179. package/packages/storefront/dist/client/_astro/passion_ZK2FPz.webp +0 -0
  180. package/packages/storefront/dist/client/_astro/passion_pVNbE.avif +0 -0
  181. package/packages/storefront/dist/client/_astro/rect8589_1EUYOa.webp +0 -0
  182. package/packages/storefront/dist/client/_astro/rect8589_1Sqf3x.png +0 -0
  183. package/packages/storefront/dist/client/_astro/rect8589_1VeSii.avif +0 -0
  184. package/packages/storefront/dist/client/_astro/rect8589_2wFECM.png +0 -0
  185. package/packages/storefront/dist/client/_astro/rect8589_7mg8W.png +0 -0
  186. package/packages/storefront/dist/client/_astro/rect8589_Kv492.webp +0 -0
  187. package/packages/storefront/dist/client/_astro/rect8589_Z1DNkkN.webp +0 -0
  188. package/packages/storefront/dist/client/_astro/rect8589_Z1IS4wy.avif +0 -0
  189. package/packages/storefront/dist/client/_astro/rect8589_Zt4vbx.avif +0 -0
  190. package/packages/storefront/dist/client/_astro/rect859_1Bqr36.webp +0 -0
  191. package/packages/storefront/dist/client/_astro/rect859_1pj5UP.png +0 -0
  192. package/packages/storefront/dist/client/_astro/rect859_2dVuzq.avif +0 -0
  193. package/packages/storefront/dist/client/_astro/rect859_HaXay.png +0 -0
  194. package/packages/storefront/dist/client/_astro/rect859_Z100iy0.png +0 -0
  195. package/packages/storefront/dist/client/_astro/rect859_Z2i1RBz.avif +0 -0
  196. package/packages/storefront/dist/client/_astro/rect859_ZMRWqJ.webp +0 -0
  197. package/packages/storefront/dist/client/_astro/rect859_mPQHw.avif +0 -0
  198. package/packages/storefront/dist/client/_astro/rect859_xyq7d.webp +0 -0
  199. package/packages/storefront/dist/client/_astro/rect89_1DkX0O.webp +0 -0
  200. package/packages/storefront/dist/client/_astro/rect89_2uIqYp.avif +0 -0
  201. package/packages/storefront/dist/client/_astro/rect89_Z1rGPGT.webp +0 -0
  202. package/packages/storefront/dist/client/_astro/rect89_ZAjmIj.avif +0 -0
  203. package/packages/storefront/dist/client/~fallback.html +0 -98
  204. package/packages/storefront/dist/client/~index.html +0 -134
  205. package/packages/storefront/dist/server/images.dist.csv +0 -38
  206. package/packages/storefront/dist/server/images.src.csv +0 -11
  207. package/packages/storefront/dist/server/stylesheets.csv +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playloads.js","sourceRoot":"","sources":["../src/playloads.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC,KAAK,CACf,EAAE,CAAC,YAAY,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC9B,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,UAAU,CAAC,qCAAqC,CAAC,CAAC;AAChF,MAAM,gBAAgB,GAAG,UAAU,CAAC,gCAAgC,CAAC,CAAC;AACtE,MAAM,qBAAqB,GAAG,UAAU,CAAC,qCAAqC,CAAC,CAAC;AAEhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,GACtB,CAAC"}
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@cloudcommerce/test-base",
3
+ "private": true,
4
+ "type": "module",
5
+ "version": "0.26.1",
6
+ "description": "E-Com Plus Cloud Commerce basic setup for testing",
7
+ "main": "lib/index.js",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
11
+ "directory": "packages/test-base"
12
+ },
13
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
14
+ "license": "Apache 2.0 with Commons Clause",
15
+ "bugs": {
16
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
17
+ },
18
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/test-base#readme",
19
+ "scripts": {
20
+ "build": "bash ../../scripts/build-lib.sh"
21
+ },
22
+ "dependencies": {
23
+ "@cloudcommerce/api": "workspace:*"
24
+ },
25
+ "devDependencies": {
26
+ "@cloudcommerce/types": "workspace:*"
27
+ }
28
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "to": {
3
+ "zip": "35701134"
4
+ },
5
+ "items": [
6
+ {
7
+ "product_id": "6166cb1528ace502aea2dc36",
8
+ "variation_id": "693120163769524850000003",
9
+ "sku": "GIE2742-405-2",
10
+ "name": "Vaso para Orquídeas / M",
11
+ "quantity": 1,
12
+ "currency_id": "BRL",
13
+ "currency_symbol": "R$",
14
+ "price": 99.75,
15
+ "final_price": 99.75,
16
+ "dimensions": {
17
+ "width": {
18
+ "unit": "cm",
19
+ "value": 30
20
+ },
21
+ "height": {
22
+ "unit": "cm",
23
+ "value": 30
24
+ },
25
+ "length": {
26
+ "unit": "cm",
27
+ "value": 30
28
+ }
29
+ },
30
+ "weight": {
31
+ "unit": "kg",
32
+ "value": 0.5
33
+ }
34
+ }
35
+ ],
36
+ "subtotal": 99.75
37
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "_id": "344153168658920073000000",
5
+ "visible": true,
6
+ "available": true,
7
+ "manage_stock": true,
8
+ "sales": 76,
9
+ "total_sold": 6683.85,
10
+ "name": "Vaso para Orquídeas / M",
11
+ "sku": "GIE2742-405-2",
12
+ "price": 99.75,
13
+ "base_price": 24.99,
14
+ "price_effective_date": {
15
+ "start": "2021-10-06T03:00:00.000Z",
16
+ "end": "2021-10-15T03:00:00.000Z"
17
+ },
18
+ "cost_price": 21.99,
19
+ "quantity": 1,
20
+ "pictures": [
21
+ {
22
+ "zoom": {
23
+ "url": "https://ecoms1.com/1173/@v3/1634126448701-vaso-orquideas.webp",
24
+ "size": "900x900",
25
+ "alt": "vaso-orquideas"
26
+ },
27
+ "_id": "854260163412645020000000"
28
+ }
29
+ ],
30
+ "categories": [
31
+ {
32
+ "_id": "5f81f29eb2161709fa3da64f",
33
+ "name": "Cerâmica"
34
+ }
35
+ ],
36
+ "short_description": "Vaso para Orquídeas em Cerâmica",
37
+ "slug": "vaso-para-orquideas",
38
+ "commodity_type": "physical",
39
+ "ad_relevance": 0,
40
+ "currency_id": "BRL",
41
+ "currency_symbol": "R$",
42
+ "condition": "new",
43
+ "adult": false,
44
+ "auto_fill_related_products": true,
45
+ "views": 0,
46
+ "dimensions": {
47
+ "width": {
48
+ "unit": "cm",
49
+ "value": 30
50
+ },
51
+ "height": {
52
+ "unit": "cm",
53
+ "value": 30
54
+ },
55
+ "length": {
56
+ "unit": "cm",
57
+ "value": 30
58
+ }
59
+ },
60
+ "weight": {
61
+ "unit": "kg",
62
+ "value": 0.5
63
+ },
64
+ "updated_at": "2023-06-06T22:54:56.420Z",
65
+ "store_id": 1173,
66
+ "created_at": "2023-05-24T17:48:21.549Z",
67
+ "customizations": [],
68
+ "specifications": {
69
+ "size": [
70
+ {
71
+ "text": "M",
72
+ "value": "m"
73
+ }
74
+ ]
75
+ },
76
+ "product_id": "6166cb1528ace502aea2dc36",
77
+ "variation_id": "693120163769524850000003",
78
+ "picture": {
79
+ "zoom": {
80
+ "url": "https://ecoms1.com/1173/@v3/1634126448701-vaso-orquideas.webp",
81
+ "size": "900x900",
82
+ "alt": "vaso-orquideas"
83
+ }
84
+ },
85
+ "max_quantity": 4,
86
+ "final_price": 99.75,
87
+ "min_quantity": 1
88
+ }
89
+ ],
90
+ "buyer": {
91
+ "customer_id": "621781e57963422eee198e7f",
92
+ "email": "fulanociclano@email.com",
93
+ "birth_date": {
94
+ "day": 25,
95
+ "month": 12,
96
+ "year": 1990
97
+ },
98
+ "fullname": "Fulano Ciclano",
99
+ "doc_number": "21645193292",
100
+ "registry_type": "p",
101
+ "phone": {
102
+ "number": "31999999999"
103
+ }
104
+ },
105
+ "amount": {
106
+ "subtotal": 99.75,
107
+ "freight": 0.00,
108
+ "total": 99.75
109
+ },
110
+ "payment_method": {
111
+ "code": "account_deposit",
112
+ "name": "Pix - Mercado Pago"
113
+ },
114
+ "order_number": 4977,
115
+ "order_id": "6490a0d15e606903703fdf92"
116
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "items": [
3
+ {
4
+ "quantity": 1,
5
+ "customizations": [],
6
+ "product_id": "6166cb1528ace502aea2dc36",
7
+ "variation_id": "693120163769524850000003",
8
+ "picture": {
9
+ "zoom": {
10
+ "url": "https://ecoms1.com/1173/@v3/1634126448701-vaso-orquideas.webp",
11
+ "size": "900x900",
12
+ "alt": "vaso-orquideas"
13
+ }
14
+ },
15
+ "sku": "GIE2742-405-2",
16
+ "name": "Vaso para Orquídeas / M",
17
+ "price": 99.75,
18
+ "final_price": 99.75,
19
+ "_id": "e17926a16871999536691111",
20
+ "stock_status": "released",
21
+ "specifications": {
22
+ "size": [
23
+ {
24
+ "text": "M",
25
+ "value": "m"
26
+ }
27
+ ]
28
+ },
29
+ "visible": true,
30
+ "available": true,
31
+ "manage_stock": true,
32
+ "sales": 77,
33
+ "total_sold": 6783.6,
34
+ "base_price": 24.99,
35
+ "price_effective_date": {
36
+ "start": "2021-10-06T03:00:00.000Z",
37
+ "end": "2021-10-15T03:00:00.000Z"
38
+ },
39
+ "cost_price": 21.99,
40
+ "categories": [
41
+ {
42
+ "_id": "5f81f29eb2161709fa3da64f",
43
+ "name": "Cerâmica"
44
+ }
45
+ ],
46
+ "short_description": "Vaso para Orquídeas em Cerâmica",
47
+ "slug": "vaso-para-orquideas",
48
+ "commodity_type": "physical",
49
+ "currency_id": "BRL",
50
+ "currency_symbol": "R$",
51
+ "condition": "new",
52
+ "auto_fill_related_products": true,
53
+ "dimensions": {
54
+ "width": {
55
+ "unit": "cm",
56
+ "value": 30
57
+ },
58
+ "height": {
59
+ "unit": "cm",
60
+ "value": 30
61
+ },
62
+ "length": {
63
+ "unit": "cm",
64
+ "value": 30
65
+ }
66
+ },
67
+ "weight": {
68
+ "unit": "kg",
69
+ "value": 0.5
70
+ },
71
+ "updated_at": "2023-06-19T18:39:14.573Z",
72
+ "store_id": 1173,
73
+ "created_at": "2023-05-24T17:48:21.549Z",
74
+ "min_quantity": 1,
75
+ "max_quantity": 3
76
+ }
77
+ ],
78
+ "amount": {
79
+ "subtotal": 99.75,
80
+ "freight": 0,
81
+ "discount": 0,
82
+ "total": 99.75
83
+ },
84
+ "domain": "leaodejuda.netlify.app",
85
+ "can_fetch_when_selected": true,
86
+ "currency_id": "BRL",
87
+ "currency_symbol": "R$",
88
+ "customer": {
89
+ "_id": "621781e57963422eee198e7f",
90
+ "main_email": "wis.tech7l@gmail.com",
91
+ "display_name": "Wisley",
92
+ "name": {
93
+ "given_name": "Wisley",
94
+ "family_name": "Alves"
95
+ },
96
+ "birth_date": {
97
+ "day": 22,
98
+ "month": 10,
99
+ "year": 1993
100
+ },
101
+ "photos": [
102
+ "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=5215435488508219&height=50&width=50&ext=1648299747&hash=AeRW9liwzh7S8_nDRNc"
103
+ ],
104
+ "phones": [
105
+ {
106
+ "number": "31920006175"
107
+ }
108
+ ],
109
+ "registry_type": "p",
110
+ "doc_number": "21645193292",
111
+ "addresses": [
112
+ {
113
+ "_id": "801165164564353427100000",
114
+ "zip": "35701134",
115
+ "province_code": "MG",
116
+ "name": "Wisley Alves",
117
+ "city": "Sete Lagoas",
118
+ "borough": "Progresso",
119
+ "street": "Rua Santo André",
120
+ "default": true,
121
+ "number": 81
122
+ }
123
+ ]
124
+ }
125
+ }
@@ -0,0 +1,37 @@
1
+ import url from 'node:url';
2
+ import path from 'node:path';
3
+ import fs from 'node:fs';
4
+
5
+ const {
6
+ DEPLOY_REGION,
7
+ FIREBASE_PROJECT_ID,
8
+ } = process.env;
9
+
10
+ const region = DEPLOY_REGION || 'us-east4';
11
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
12
+ const dirStore = path.join(__dirname, '../../../store');
13
+
14
+ let projectId = FIREBASE_PROJECT_ID;
15
+ if (!projectId) {
16
+ try {
17
+ const firebaserc = JSON.parse(
18
+ fs.readFileSync(
19
+ path.join(dirStore, '.firebaserc'),
20
+ { encoding: 'utf-8' },
21
+ ),
22
+ );
23
+ projectId = firebaserc.projects.default;
24
+ } catch (e) {
25
+ projectId = 'ecom2-demo';
26
+ }
27
+ }
28
+
29
+ const baseUrl = `http://127.0.0.1:5001/${projectId}/${region}`;
30
+ const modulesUrl = `${baseUrl}/modules`;
31
+ const passportUrl = `${baseUrl}/passport`;
32
+
33
+ export {
34
+ baseUrl,
35
+ modulesUrl,
36
+ passportUrl,
37
+ };
@@ -0,0 +1,3 @@
1
+ export * from './endpoints';
2
+
3
+ export * from './playloads';
@@ -0,0 +1,24 @@
1
+ import url from 'node:url';
2
+ import path from 'node:path';
3
+ import fs from 'node:fs';
4
+
5
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
6
+
7
+ const getPayload = (pathFile: string) => {
8
+ return JSON.parse(
9
+ fs.readFileSync(
10
+ path.join(__dirname, pathFile),
11
+ { encoding: 'utf-8' },
12
+ ),
13
+ );
14
+ };
15
+
16
+ const bodyCalculateShipping = getPayload('../payloads/calculate-shipping.json');
17
+ const bodyListPayments = getPayload('../payloads/list-payments.json');
18
+ const bodyCreateTransaction = getPayload('../payloads/create-transaction.json');
19
+
20
+ export {
21
+ bodyCalculateShipping,
22
+ bodyListPayments,
23
+ bodyCreateTransaction,
24
+ };
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../tsconfig.json"
3
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.25.0",
4
+ "version": "0.26.1",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -1 +0,0 @@
1
- import{c,_ as w,d as y,o as s,a as o,g as f,w as l,u as k,n as b,h as p,y as v,x,i as u,e as d,f as T,v as C,b as m,F as S,r as B,L as H}from"./_plugin-vue_export-helper.48e557ba.js";import{C as L,a as j}from"./Carousel.63d511ab.js";import{p as g}from"./index.c0c35ead.js";import"./session-utm.744b0db3.js";const N=a=>{const r=c(()=>a.title?g(a.title).value:""),t=c(()=>a.subtitle?g(a.subtitle).value:""),e=c(()=>a.buttonText?g(a.buttonText).value:""),i=c(()=>!!(r.value||t.value||e.value));return{parsedTitle:r,parsedSubtitle:t,parsedButtonText:e,hasHeader:i}},P=y({__name:"Banner",props:{img:{},alt:{},mobileImg:{},href:{},title:{},subtitle:{},buttonLink:{},buttonText:{},headingTag:{default:"h3"}},setup(a,{expose:r}){r();const t=a,{hasHeader:e,parsedTitle:i,parsedSubtitle:_,parsedButtonText:h}=N(t),n={props:t,hasHeader:e,parsedTitle:i,parsedSubtitle:_,parsedButtonText:h};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),V={key:0,class:"p-12 xl:ps-32 mb-3 sm:mb-0"},D={key:1,class:"text-lg mt-4 md:mt-6"};function z(a,r,t,e,i,_){return s(),o("div",{class:b(["mx-auto overflow-x-hidden",e.hasHeader?"grid grid-cols-1 sm:grid-cols-2 items-center":null])},[(s(),f(p(t.href?"a-link":"span"),{href:t.href,class:b(e.hasHeader?"sm:order-last [&_img]:max-w-full sm:[&_img]:max-w-none [&_img]:aspect-video sm:[&_img]:aspect-[2.5] [&_img]:object-cover":"[&_img]:max-w-full")},{default:l(()=>[k(a.$slots,"picture")]),_:3},8,["href","class"])),e.hasHeader?(s(),o("div",V,[e.parsedTitle?(s(),f(p(t.headingTag),{key:0,class:"ui-title mt-1"},{default:l(()=>[v(x(e.parsedTitle),1)]),_:1})):u("",!0),e.parsedSubtitle?(s(),o("p",D,x(e.parsedSubtitle),1)):u("",!0),e.parsedButtonText?(s(),f(p(t.buttonLink?"a-link":"span"),{key:2,href:t.buttonLink,class:"ui-btn-lg ui-btn-contrast min-w-[150px] mt-7 md:mt-10"},{default:l(()=>[v(x(e.parsedButtonText),1)]),_:1},8,["href"])):u("",!0)])):u("",!0)],2)}const F=w(P,[["render",z]]),O=y({__name:"HeroSlider",props:{autoplay:{},slides:{}},setup(a,{expose:r}){r();const t={Carousel:L,CarouselControl:j,Banner:F};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}}),E={class:"relative mx-auto"},I={class:"absolute z-10 bottom-5 flex justify-end items-center w-screen right-5 xl:right-auto xl:max-w-screen-xl xl:left-1/2 xl:-ms-[640px]"},q={class:"relative w-20 h-10 rounded-full bg-white/50 text-primary shadow-sm ring-1 ring-black/5"},A=m("i",{class:"i-arrow-left"},null,-1),G=m("i",{class:"i-arrow-right"},null,-1);function J(a,r,t,e,i,_){return s(),o("section",E,[d(e.Carousel,{autoplay:t.autoplay,class:"secondary [&>*]:items-center"},{controls:l(()=>[T(m("div",I,[m("div",q,[d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10","is-prev":""},{default:l(()=>[A]),_:1}),d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10"},{default:l(()=>[G]),_:1})])],512),[[C,t.slides.length>1]])]),default:l(()=>[(s(!0),o(S,null,B(t.slides,(h,n)=>(s(),o("li",{key:n,class:"shrink-0 basis-full"},[d(e.Banner,H({...h,headingTag:n===0?"h2":"h3"},{class:"w-screen max-w-screen-2xl"}),{picture:l(()=>[k(a.$slots,`picture-${n}`)]),_:2},1040)]))),128))]),_:3},8,["autoplay"])])}const U=w(O,[["render",J]]);export{U as default};
@@ -1 +0,0 @@
1
- import{s as _,c as u,_ as f,d as m,a as l,b as h,e as d,w as p,o,f as v,v as C,F as g,r as b,g as w,h as x,n as y,i as S}from"./_plugin-vue_export-helper.48e557ba.js";import{p as k}from"./index.c0c35ead.js";import{C as B,a as P}from"./Carousel.63d511ab.js";import"./session-utm.744b0db3.js";function V(t,s){{const a=btoa(JSON.stringify({filename:t}));window.parent.postMessage(JSON.parse(JSON.stringify({type:"open",filename:t,id:a})),window.location.origin),window.addEventListener("message",e=>{e.data.id===a&&s(e.data.data)})}}const L=t=>{const s=_(null);return window.$isCmsPreview&&V(t,a=>{s.value=a}),{liveContent:s}},N=t=>{const s={slides:[]};return t.header?.pitch_bar&&(s.slides=t.header.pitch_bar),s},O=t=>{const{liveContent:s}=L("layout"),a=u(()=>(s.value?N(s.value).slides:t.slides).map(({html:n})=>k(n).value.replace(/<\/?p>/g,"").replace(/&lt;(\/?d-md)&gt;/g,"<$1>"))),e=u(()=>a.value.filter(r=>r).length);return{parsedContents:a,countValidSlides:e}},J=m({__name:"PitchBar",props:{slides:{}},setup(t,{expose:s}){s();const a=t,{parsedContents:e,countValidSlides:r}=O(a),n={props:a,parsedContents:e,countValidSlides:r,Carousel:B,CarouselControl:P};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),M={class:"bg-base-100 relative z-20"},z={class:"container md:w-2/3 mx-auto px-3 py-1"},D=["innerHTML"],E={class:"text-xl leading-none text-base-400"};function F(t,s,a,e,r,n){return o(),l("div",M,[h("div",z,[d(e.Carousel,{autoplay:e.countValidSlides>1?7e3:void 0},{controls:p(()=>[v(h("div",E,[d(e.CarouselControl,{class:"pr-2 bg-base-100 hover:text-base-700","is-prev":""}),d(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[C,e.countValidSlides>1]])]),default:p(()=>[(o(!0),l(g,null,b(a.slides,(i,c)=>(o(),l("li",{key:c,class:"shrink-0 basis-full h-full text-center"},[(o(),w(x(i.href?"ALink":"span"),{href:i.href,target:i.target,class:y(["inline-block px-8",i.href?"hover:underline":null])},{default:p(()=>[e.parsedContents[c]?(o(),l("span",{key:0,innerHTML:e.parsedContents[c],class:"prose text-sm text-base-800"},null,8,D)):S("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const R=f(J,[["render",F]]);export{R as default};
@@ -1 +0,0 @@
1
- import{P as J,Q as L,k as K,N as x,c,O as w,_ as U,d as Q,m as G,o as _,a as h,x as d,i as p,b as O,y as V,n as M,e as q,w as B}from"./_plugin-vue_export-helper.48e557ba.js";import{i as H}from"./img.7def76a1.js";import{h as Y,j as F,k as X,l as Z}from"./index.c0c35ead.js";const tt=(t,e=J.get("lang"))=>e&&t.i18n&&t.i18n[e]?t.i18n[e]:t.name||t.title||H(t.i18n,e)||"",Mt=tt,et=()=>{let t=Math.floor(Math.random()*1e6).toString()+Date.now();for(;t.length<24;)t+="0";return t},at=et,st=(t,e,a=globalThis.localStorage)=>{if(!a)return L(e);let s;const i=a.getItem(t);if(i)try{s=JSON.parse(i)}catch{s=null,a.removeItem(t)}const n=L(s||e);return K(n,()=>{a.setItem(t,JSON.stringify(n))}),n},nt=(t,{flags:e})=>!t.flags&&!e?!0:!t.flags||!e||t.flags.length!==e.length?!1:t.flags.every(a=>e.includes(a)),it=(t,e)=>{if(typeof e.product_id!="string"||typeof e.quantity!="number"||!(e.quantity>=0)||typeof e.price!="number"||!(e.price>=0))return null;const{items:a}=t;if(!e.kit_product)for(let i=0;i<a.length;i++){const n=a[i];if(!n.kit_product&&n.product_id===e.product_id&&n.variation_id===e.variation_id&&(!n.customizations||!n.customizations.length)&&nt(n,e))return n.quantity+=e.quantity,e.price&&(n.price=e.price),e.final_price&&(n.final_price=e.final_price),n}const s={...e};if((!e._id||e._id===e.variation_id||a.find(({_id:i})=>i===e._id))&&(s._id=at()),e.customizations){const i=[];e.customizations.forEach((n,r)=>{i[r]={...n}}),s.customizations=i}return a.push(s),s},rt=(t,e,a)=>{(typeof a!="number"||Number.isNaN(a))&&(a=t.min_quantity||1);const s=t.min_quantity||0,i=e&&t.variations?t.variations.find(({_id:r})=>r===e):void 0,n={product_id:t._id,variation_id:e,sku:i?.sku||t.sku,name:i?.name||t.name,slug:t.slug,production_time:i?.production_time||t.production_time,currency_id:t.currency_id,currency_symbol:t.currency_symbol,base_price:i?.base_price||t.base_price,max_quantity:t.quantity,quantity:s>0?Math.max(s,a):a,price:x(t)};return i?.picture_id&&t.pictures&&(n.picture=t.pictures.find(r=>r._id===i.picture_id)),!n.picture&&t.pictures&&([n.picture]=t.pictures),n},ot="ecomShoppingCart",ct={items:[]},D=st(ot,ct),R=c(()=>D.items.map(t=>{let e=t.kit_product?.price&&t.kit_product.pack_quantity?t.kit_product.price/t.kit_product.pack_quantity:t.price;Array.isArray(t.customizations)&&t.customizations.forEach(i=>{if(i.add_to_price){const{type:n,addition:r}=i.add_to_price;e+=n==="fixed"?r:t.price*(r/100)}}),t.final_price=e;const a=t.min_quantity||1,s=t.max_quantity;return typeof t.quantity!="number"||Number.isNaN(t.quantity)||t.quantity<a?t.quantity=a:s&&t.quantity>s&&(t.quantity=s),t})),z=c(()=>R.value.reduce((t,e)=>t+e.quantity*(e.final_price||e.price),0)),zt=c(()=>R.value.reduce((t,e)=>t+e.quantity,0)),A=c({get(){return{...D,subtotal:z.value}},set(t){Object.assign(D,t,{subtotal:z.value})}}),lt=t=>{const e=A.value;it(e,t)&&(A.value.items=e.items)},It=t=>{for(let e=0;e<A.value.items.length;e++)if(A.value.items[e]._id===t){A.value.items.splice(e,1);break}},$t=(t,e,a)=>lt(rt(t,e,a));globalThis.__apiCache||(globalThis.__apiCache={});const N=typeof process=="object"&&process?.env||globalThis;class I extends Error{constructor(e,a,s,i=!1){a?(super(a.statusText),this.data=a.data,this.statusCode=a.status):super(s||"Request error"),this.config=e,this.response=a,this.isTimeout=i}}const ut={middleware(t){const e={...t.headers};if(!t.isNoAuth)if(t.accessToken)e.Authorization=`Bearer ${t.accessToken}`;else{const n=t.authenticationId||N.ECOM_AUTHENTICATION_ID,r=t.apiKey||N.ECOM_API_KEY;if(n&&r){const l=`${n}:${r}`,f=typeof Buffer=="function"?Buffer.from(l).toString("base64"):btoa(l);e.Authorization=`Basic ${f}`}}let a=t.baseUrl||N.API_BASE_URL||"https://ecomplus.io/v2";const{endpoint:s,params:i}=t;if(s!=="login"&&s!=="authenticate"&&s!=="ask-auth-callback"&&s!=="check-username"){const n=t.storeId||N.ECOM_STORE_ID;if(!n)throw new Error("`storeId` must be set in config or `ECOM_STORE_ID` env var");a+=`/:${n}`;const r=t.lang||N.ECOM_LANG;r&&(a+=`,lang:${r}`)}if(a+=`/${s}`,typeof i=="string")a+=`?${i}`;else{const n=i||{};if(["fields","sort"].forEach(r=>{const l=t[r];l&&!n[r]&&(n[r]=l.join(","))}),["limit","offset","count","buckets","concise","verbose"].forEach(r=>{const l=t[r];l&&!n[r]&&(n[r]=l)}),Object.keys(n).length){const r=new URLSearchParams;Object.keys(n).forEach(l=>{const f=n[l];Array.isArray(f)?f.forEach(g=>{r.append(l,g)}):f!==void 0&&r.append(l,f)}),a+=`?${r.toString()}`}}return{url:a,headers:e}}},y=async(t,e=0)=>{const a=globalThis.$apiMergeConfig?{...globalThis.$apiMergeConfig,...t}:t,{url:s,headers:i}=ut.middleware(a),{method:n="get",timeout:r=2e4,maxRetries:l=3,cacheMaxAge:f=6e5}=a,g=n==="get"&&a.canCache;let k;if(g){k=`${s}${JSON.stringify(i)}`;const v=globalThis.__apiCache[k];if(v&&Date.now()-v.timestamp<=f)return{...v.res,config:a}}const T=a.body||a.data;let b;T&&(b=JSON.stringify(T),i["Content-Type"]="application/json",i["Content-Length"]=b.length.toString());const C=new AbortController;let E=!1;const j=setTimeout(()=>{C.abort(),E=!0},r);let u;try{u=await(a.fetch||fetch)(s,{method:n,headers:i,body:b,signal:C.signal})}catch(v){throw new I(a,u,v.message,E)}if(clearTimeout(j),u){if(u.ok){const o={...u,data:await u.json()};return g&&k&&(globalThis.__apiCache[k]={timestamp:Date.now(),res:o}),{...o,config:a}}const{status:v}=u;if(l<e&&(v===429||v>=500)){const o=u.headers.get("retry-after");return new Promise((m,P)=>{setTimeout(()=>{y(t,e+1).then(m).catch(P)},o&&parseInt(o,10)||5e3)})}}try{u.data=await u?.json()}catch{}throw new I(a,u)},dt=(t,e)=>y({...e,endpoint:t}),mt=(t,e,a)=>y({...a,method:"post",endpoint:t,body:e}),_t=(t,e,a)=>y({...a,method:"put",endpoint:t,body:e}),ht=(t,e,a)=>y({...a,method:"patch",endpoint:t,body:e}),W=(t,e)=>y({...e,method:"delete",endpoint:t});y.get=dt;y.post=mt;y.put=_t;y.patch=ht;y.del=W;y.delete=W;const $=(t,e)=>{const{type:a,value:s}=e;let i;return s?(a==="percentage"?i=t*((100-s)/100):i=t-s,i>0?i:0):t},ft=t=>{const e=c(()=>t.product||{price:t.price||0,base_price:t.basePrice}),a=c(()=>{const{variations:o}=e.value;if(o){const m=x(e.value);for(let P=0;P<o.length;P++)if(x({...e.value,...o[P]})>m)return!0}return!1}),s=c(()=>{const o=x(e.value),m=Y.value;return m&&(!m.min_amount||o>m.min_amount)?$(o,m):o}),i=c(()=>{if(w(e.value))return e.value.base_price;const o=x(e.value);return o>s.value?o:0}),n=c(()=>t.installmentsOption||F.value||{max_number:1}),r=c(()=>{if(n.value.max_number<=1)return 1;const o=n.value.min_installment||5,m=Math.floor(s.value/o);return Math.min(m,n.value.max_number)}),l=c(()=>n.value.monthly_interest||0),f=c(()=>{if(r.value>=2){if(!l.value)return s.value/r.value;const o=l.value/100;return s.value*o/(1-(1+o)**-r.value)}return 0}),g=c(()=>{const o=t.discountOption||X.value;return o&&(!o.min_amount||o.min_amount<=s.value)&&(!t.isAmountTotal||o.apply_at==="total")?o:{}}),k=c(()=>{const{label:o}=g.value;return o?o.includes(" ")?o:`via ${o}`:""}),T=c(()=>$(s.value,g.value)),b=c(()=>{if(t.loyaltyPointsProgram)return t.loyaltyPointsProgram;const o=Z.value;if(o){const m=Object.keys(o);for(let P=0;P<m.length;P++){const S=o[m[P]];if(S?.earn_percentage&&S.earn_percentage>0)return S}}return{ratio:0}}),C=c(()=>b.value.min_subtotal_to_earn||0),E=c(()=>b.value.name||""),j=c(()=>b.value.earn_percentage||0),u=c(()=>j.value*b.value.ratio),v=c(()=>u.value>=1?s.value*(u.value/100):0);return{hasVariedPrices:a,salePrice:s,comparePrice:i,installmentsObject:n,installmentsNumber:r,monthlyInterest:l,installmentValue:f,discountObject:g,discountLabel:k,priceWithDiscount:T,pointsProgramObject:b,pointsMinPrice:C,pointsProgramName:E,earnPointsPercentage:j,cashbackPercentage:u,cashbackValue:v}},pt=Q({__name:"Prices",props:{isBig:{type:Boolean},isLiteral:{type:Boolean},hasCashback:{type:Boolean,default:!0},hasPriceOptions:{type:Boolean,default:!0},product:{},price:{},basePrice:{},isAmountTotal:{type:Boolean},installmentsOption:{},discountOption:{},loyaltyPointsProgram:{}},setup(t,{expose:e}){e();const a=t,{hasVariedPrices:s,salePrice:i,comparePrice:n,cashbackPercentage:r,cashbackValue:l,installmentsNumber:f,monthlyInterest:g,installmentValue:k,priceWithDiscount:T,discountLabel:b}=ft(a),C={props:a,hasVariedPrices:s,salePrice:i,comparePrice:n,cashbackPercentage:r,cashbackValue:l,installmentsNumber:f,monthlyInterest:g,installmentValue:k,priceWithDiscount:T,discountLabel:b};return Object.defineProperty(C,"__isScriptSetup",{enumerable:!1,value:!0}),C}}),yt={key:0,class:"text-base-500 mr-1 text-[87%]"},bt={key:0},vt={key:1},gt={key:0},Pt={key:0,class:"relative z-10"},kt=["data-tooltip"],Ot=O("i",{class:"i-arrow-uturn-left mr-1"},null,-1),Ct={class:"font-medium"},Tt=O("small",null," cashback",-1),Nt={key:0},xt={key:0},At={key:1},Et={key:2},jt={key:0},St={key:0},qt={key:1};function Bt(t,e,a,s,i,n){const r=G("Fade");return _(),h("div",{class:M(["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]",a.isBig?"text-lg":null]),"data-prices":""},[s.comparePrice?(_(),h("span",yt,[a.isLiteral?(_(),h("small",bt,d("De "))):p("",!0),O("s",null,d(t.$money(s.comparePrice)),1),a.isLiteral?(_(),h("small",vt,d(" Por"))):p("",!0)])):p("",!0),O("strong",{class:M(["inline-block text-base-800",a.isBig?"text-5xl block":null])},[s.hasVariedPrices?(_(),h("small",gt,d("A partir de "))):p("",!0),V(" "+d(t.$money(s.salePrice)),1)],2),q(r,{slide:"down"},{default:B(()=>[s.cashbackValue&&a.hasCashback?(_(),h("div",Pt,[O("span",{"data-tooltip":"Receba $1 de volta".replace("$1",t.$percentage(s.cashbackPercentage))},[Ot,O("span",Ct,d(t.$money(s.cashbackValue)),1),Tt],8,kt)])):p("",!0)]),_:1}),q(r,{slide:"down"},{default:B(()=>[s.installmentValue&&a.hasPriceOptions?(_(),h("div",Nt,[a.isLiteral?(_(),h("small",xt,d("Até "))):p("",!0),V(" "+d(s.installmentsNumber)+"x ",1),a.isLiteral?(_(),h("small",At,d(" De "))):p("",!0),O("span",null,d(t.$money(s.installmentValue)),1),!s.monthlyInterest&&a.isLiteral?(_(),h("small",Et,d("Sem juros"))):p("",!0)])):p("",!0)]),_:1}),q(r,{slide:"down"},{default:B(()=>[s.priceWithDiscount<s.salePrice&&a.hasPriceOptions?(_(),h("div",jt,[s.discountLabel?p("",!0):(_(),h("small",St,d("A partir de "))),O("span",null,d(t.$money(s.priceWithDiscount)),1),s.discountLabel?(_(),h("small",qt,d(` ${s.discountLabel}`),1)):p("",!0)])):p("",!0)]),_:1})],2)}const Rt=U(pt,[["render",Bt]]);export{Rt as P,y as a,$t as b,Mt as g,rt as p,It as r,A as s,zt as t,st as u};
@@ -1 +0,0 @@
1
- import{j as _,M as j,N as L,c as p,O as Q,_ as V,d as q,m as B,o as s,a as d,g as S,w as C,b as m,F as E,e as b,i as I,y as x,x as y,h as O,n as T,q as M,f as F,v as H,r as z}from"./_plugin-vue_export-helper.48e557ba.js";import{a as A,g as D,b as R,P as G}from"./Prices.8572765c.js";import{C as J,a as K}from"./Carousel.63d511ab.js";import{e as U,g as W}from"./index.c0c35ead.js";import{g as X}from"./img.7def76a1.js";import"./session-utm.744b0db3.js";const Y=e=>e&&e.min_quantity||1,Z=Y,$=e=>!e.hasOwnProperty("quantity")||e.quantity>=Z(e),N=$,tt=e=>{const a=_(e.title||""),i=_(e.titleLink||""),t=_(!1);let u=null;const r=_(null),l=j(e.products||[]);return e.products||(t.value=!0,u=(async()=>{let c=e.searchQuery||"",h;if(e.collectionId){try{const{data:o}=await A.get(`collections/${e.collectionId}`);h=o}catch(o){console.error(o),r.value=o}const n=h?.products;Array.isArray(n)&&n.length&&(c+=`&_id=${n.slice(0,60).join(",")}`),!a.value&&a.value!==null&&h?.name&&(a.value=h?.name)}const v=e.limit||24;let f=`offset=${e.page?(e.page-1)*v:0}&limit=${v}`;e.sort&&(f+=`&sort=${e.sort}`),f+=c;try{const{data:n}=await A.get(`search/v1?${f}`);if(e.isShuffle){let o=n.result.filter(w=>w.available&&N(w)).length,g,k;for(;o;)k=Math.floor(Math.random()*o--),g=n.result[o],n.result[o]=n.result[k],n.result[k]=g}n.result.forEach(o=>l.push(o))}catch(n){console.error(n),r.value=n}t.value=!1})()),{title:a,titleLink:i,isFetching:t,fetching:u,fetchError:r,products:l}},et=e=>{const a=_(!1);let i=null;const t=_(null),{productId:u}=e,r=j({...e.product,_id:e.product?._id||u,price:L(e.product||{})});!e.product&&u&&(a.value=!0,i=(async()=>{try{const{data:o}=await A.get(`products/${u}`);Object.assign(r,o)}catch(o){console.error(o),t.value=o}a.value=!1})());const l=p(()=>D(r)),c=p(()=>{const{slug:o}=r;return typeof o=="string"?`/${o}`:null}),h=p(()=>{const{pictures:o}=r,g=[];return o&&o.forEach(k=>{const w=X(k);w&&g.push(w)}),g}),v=p(()=>N(r)),P=p(()=>v.value&&r.available&&r.visible),f=p(()=>{if(Q(r)){const o=r.base_price;return Math.round((o-L(r))*100/o)}return 0}),n=p(()=>r.has_variations?!0:!!r.variations?.length);return{isFetching:a,fetching:i,fetchError:t,product:r,title:l,link:c,images:h,isInStock:v,isActive:P,discountPercentage:f,hasVariations:n}},ot=q({__name:"ProductCard",props:{product:{},productId:{},headingTag:{default:"h3"}},setup(e,{expose:a}){a();const i=e,{product:t,title:u,link:r,images:l,isInStock:c,isActive:h,discountPercentage:v,hasVariations:P}=et(i),f=_(null),n=U(f),o=_(!1);W(n,()=>{o.value=!0});const g={props:i,product:t,title:u,link:r,images:l,isInStock:c,isActive:h,discountPercentage:v,hasVariations:P,card:f,isHovered:n,wasHoveredOnce:o,get addProductToCart(){return R},Prices:G};return Object.defineProperty(g,"__isScriptSetup",{enumerable:!1,value:!0}),g}}),rt=["data-sku"],nt={class:"aspect-square p-2 motion-safe:group-hover:scale-110 transition-transform"},at={class:"relative w-full h-full bg-white rounded overflow-hidden group-hover:rounded-none"},st={key:1,class:"w-full h-full bg-gradient-to-br from-base-50/20 to-base-100"},it={key:0,class:"uno-bm03rg"},lt={class:"relative flex flex-col grow justify-between p-4 group-hover:backdrop-blur-md bg-white/40 z-10"},ct={class:"pt-2"},ut={key:0},dt={key:1,class:"ui-badge bg-warning-100 text-warning-700"},ht=m("span",{class:"inline-block h-4 w-4 leading-none text-base text-center bg-on-primary text-primary opacity-80 rounded-full mr-1"}," + ",-1);function ft(e,a,i,t,u,r){const l=B("AImg");return s(),d("article",{ref:"card","data-sku":t.product.sku,class:"relative h-full max-w-[350px] mx-auto py-3 group"},[(s(),S(O(t.link?"ALink":"span"),{href:t.link,class:"flex flex-col h-full rounded overflow-hidden group-hover:shadow group-hover:ring-1 ring-black/5"},{default:C(()=>[m("div",nt,[m("div",at,[t.images?.length?(s(),d(E,{key:0},[b(l,{picture:t.images[0],alt:t.title,class:"absolute top-0 left-0 block w-full h-full object-cover"},null,8,["picture","alt"]),t.images[1]&&t.wasHoveredOnce?(s(),S(l,{key:0,picture:t.images[1],alt:t.title,class:"absolute top-0 left-0 block w-full h-full object-cover opacity-0 group-hover:opacity-100 transition-opacity motion-safe:duration-300 text-transparent z-10"},null,8,["picture","alt"])):I("",!0)],64)):(s(),d("div",st))])]),t.discountPercentage?(s(),d("span",it,[x(" -"),m("strong",null,y(t.discountPercentage),1),x("% ")])):I("",!0),m("div",lt,[(s(),S(O(i.headingTag),{class:T(["ui-link no-underline line-clamp-2",[t.isActive?"text-base-700":"text-base-500",t.link?"group-hover:underline group-hover:text-primary":null]])},{default:C(()=>[x(y(t.title),1)]),_:1},8,["class"])),m("div",ct,[t.isActive?(s(),d("div",ut,[b(t.Prices,{product:t.product},null,8,["product"])])):(s(),d("span",dt,y(t.isInStock?"Inativo":"Sem estoque"),1))]),t.isActive&&!t.hasVariations?(s(),d("button",{key:0,class:"uno-3suct9 ui-btn-sm ui-btn-primary",onClick:a[0]||(a[0]=M(c=>t.addProductToCart(t.product),["prevent"]))},[ht,x(" "+y("Adicionar ao carrinho"))])):I("",!0)])]),_:1},8,["href"]))],8,rt)}const gt=V(ot,[["render",ft]]),mt=q({__name:"ProductShelf",props:{collectionId:{},searchQuery:{},sort:{},title:{},titleLink:{},isShuffle:{type:Boolean},limit:{},page:{},products:{}},async setup(e,{expose:a}){a();const i=e,{title:t,titleLink:u,fetching:r,products:l}=tt(i),c={props:i,title:t,titleLink:u,fetching:r,products:l,Carousel:J,CarouselControl:K,ProductCard:gt};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),_t={class:"ui-section"},vt={key:0,class:"max-w-prose mx-auto text-center mb-2"},pt={class:"ui-text-brand text-3xl"},bt={key:1,class:"text-base-700"},yt={class:"text-3xl lg:text-2xl leading-none text-primary lg:opacity-0 group-hover/shelf:opacity-90 transition-opacity"};function kt(e,a,i,t,u,r){const l=B("ALink");return s(),d("section",_t,[t.title?(s(),d("div",vt,[m("h2",pt,[t.titleLink?(s(),S(l,{key:0,href:t.titleLink,class:"ui-link"},{default:C(()=>[x(y(t.title),1)]),_:1},8,["href"])):(s(),d("span",bt,y(t.title),1))])])):I("",!0),b(t.Carousel,{class:"group/shelf"},{controls:C(()=>[F(m("div",yt,[b(t.CarouselControl,{class:"!top-1/2 !-left-4 w-12 h-12 bg-transparent lg:bg-white/80 lg:hover:bg-primary-300/60 rounded-full lg:shadow-sm lg:ring-1 ring-black/5","is-prev":""}),b(t.CarouselControl,{class:"!top-1/2 !-right-4 w-12 h-12 bg-transparent lg:bg-white/80 lg:hover:bg-primary-300/60 rounded-full lg:shadow-sm lg:ring-1 ring-black/5"})],512),[[H,t.products.length>2]])]),default:C(()=>[(s(!0),d(E,null,z(t.products,c=>(s(),d("li",{key:c._id,class:"basis-1/2 md:basis-1/3 lg:basis-1/4 shrink-0"},[b(t.ProductCard,{product:c},null,8,["product"])]))),128))]),_:1})])}const At=V(mt,[["render",kt]]);export{At as default};
@@ -1,4 +0,0 @@
1
- import{u as St,a as kt,p as Pt,g as It,r as Mt,P as Ke,s as Ct,t as We}from"./Prices.8572765c.js";import{u as Tt,i as ve,a as Et,w as Ot,b as Ft,c as Lt,r as At,s as Ee,d as $t,f as Nt}from"./index.c0c35ead.js";import{j as S,c as y,k as ne,l as oe,_ as j,d as A,t as Dt,m as Q,o as m,g as N,w as T,a as w,n as $,p as qe,b as d,q as xe,u as V,i as D,T as Ge,e as I,h as Qe,x as M,F as B,r as W,y as R,z as jt,A as Z,B as le,C as ie,D as X,E as ae,G as Oe,H as ge,I as he,J as $e,f as Bt,K as Rt,L as Ne}from"./_plugin-vue_export-helper.48e557ba.js";import{_ as Vt}from"./preload-helper.cf010ec4.js";import{g as Ht}from"./img.7def76a1.js";import"./session-utm.744b0db3.js";const Ut=e=>{if(e){if(e.display_name)return e.display_name;if(e.name&&e.name.given_name)return e.name.given_name}return""},zt=Ut,Kt=e=>{const{header:n,canSetStyles:r,canCreateHeightDiv:t,isShownOnScrollDown:a,isShownOnMobile:l}={canSetStyles:!0,canCreateHeightDiv:!0,...e},{ready:o,start:s}=Tt(100,{controls:!0,immediate:!1}),u=S(0),c=S(0);let i;const{y:_}=l||!ve?Et(document):{y:S(0)},v=S(0);Ot(_,h=>{v.value=h},{debounce:ve?100:50,maxWait:ve?300:150});const f=y(()=>o.value&&v.value>c.value*1.2),b=S("none");ne(f,async h=>{r&&n.value&&(n.value.style.position=h?"fixed":"",n.value.style.width=h?"100vw":""),i&&(i.style.height=h?`${u.value}px`:""),h?(await Ft(300),b.value="opacity var(--transition-slow), transform var(--transition)"):(s(),b.value="none")});const p=S(!1);return ne(v,(h,P)=>{p.value=h>0&&h<P}),oe(()=>{if(!n.value)throw new Error("<header> (props.header) not set");const h=()=>{const x=n.value;u.value=x.offsetHeight,c.value=u.value+window.scrollY+x.getBoundingClientRect().top,s()},P=n.value.getElementsByTagName("IMG");let E=!0;for(let x=0;x<P.length;x++){const F=P[x];(!F.complete||F.naturalHeight===0)&&(E=!1,F.onload=h)}E&&h(),window.addEventListener("resize",Lt(h,300)),r&&(n.value.style.willChange="transform",ne([f,p],([x,F])=>{let k="",C="";x&&(!F||a)&&(k="0",C="translateY(-100%)");const O=n.value;O.style.opacity=k,O.style.transform=C}),ne(b,x=>{n.value.style.transition=x})),t&&(i=document.createElement("div"),n.value.parentElement?.insertBefore(i,n.value))}),{staticHeight:u,staticY:c,isSticky:f,isScrollUp:p,transition:b}},Wt=(e,n)=>{const r=e.filter(({name:t,slug:a,parent:l})=>t&&a&&!l);return n?.length&&r.sort((t,a)=>{const l=n.indexOf(t.slug),o=n.indexOf(a.slug);return l>-1?o===-1||l<o?-1:1:o>-1?1:0}),r},qt=(e,n,r=!1)=>{const t=e.filter(({name:a,slug:l,parent:o})=>a&&l&&o?o._id&&o._id===n._id||o.slug&&o.slug===n.slug:!1);return r&&t.sort((a,l)=>a.name<l.name?-1:1),t},Gt=e=>{const{header:n,categories:r=globalThis.$storefront.data.categories||[],menuCategorySlugs:t,menuRandomCategories:a=7,isAlphabeticalSortSubmenu:l}=e,{isSticky:o,staticHeight:s,staticY:u}=Kt({header:n}),c=y(()=>o.value?n.value?.offsetHeight:u.value),i=Wt(r,t),_=h=>qt(r,h,!!l),v=h=>({...h,subcategories:_(h).map(P=>v(P))}),f=i.map(v);let b=0;const p=f.filter(({slug:h})=>t?.includes(h)?!0:b<a?(b+=1,!0):!1);return{isSticky:o,staticHeight:s,staticY:u,positionY:c,mainCategories:i,getSubcategories:_,getCategoryTree:v,categoryTrees:f,inlineMenuTrees:p}},Qt=A({__name:"Drawer",props:{modelValue:{type:Boolean,default:!1},placement:{default:"start"},position:{default:"fixed"},hasCloseButton:{type:Boolean,default:!0},backdropTarget:{default:"#teleported-top"}},emits:["update:modelValue"],setup(e,{expose:n,emit:r}){n();const t=e,a=()=>r("update:modelValue",!1),l=S(null),o=f=>{l.value?.contains(f.target)||a()},s=f=>{f.key==="Escape"&&a()},u=S(0);ne(Dt(t,"modelValue"),async f=>{f?(u.value=window.innerWidth-document.documentElement.clientWidth,document.body.style.overflow="hidden",document.body.style.paddingRight=`${u.value}px`,setTimeout(()=>{document.addEventListener("click",o,{passive:!0}),document.addEventListener("keydown",s,{passive:!0})},500)):(document.body.style.overflow="",document.body.style.paddingRight="",document.removeEventListener("click",o),document.removeEventListener("keydown",s))});const c=y(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"down";default:return"up"}}),i=y(()=>t.position==="fixed"),_=y(()=>t.placement==="start"||t.placement==="end"),v={props:t,emit:r,close:a,drawer:l,outsideClickListener:o,escClickListener:s,scrollbarWidth:u,slideTo:c,isFixed:i,isPlacementX:_};return Object.defineProperty(v,"__isScriptSetup",{enumerable:!1,value:!0}),v}}),Yt=["open","data-drawer"],Xt={class:"relative h-full"},Jt=["onClick"],Zt=d("i",{class:"i-close text-base-400 hover:text-base-600 text-3xl"},null,-1),en={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""};function tn(e,n,r,t,a,l){const o=Q("Fade");return m(),N(o,{slide:t.slideTo,speed:"slow","is-floating":""},{default:T(()=>[r.modelValue?(m(),w("dialog",{key:0,ref:"drawer",class:$(["w-screen shadow p-0 m-0 z-50",[r.position,t.isFixed?`top-0 ${t.isPlacementX?"h-screen":""}`:null,t.isFixed&&r.placement!=="end"?"left-0":null,t.isFixed&&r.placement==="end"?"left-auto right-0":null,t.isPlacementX?"max-w-sm":null]]),style:qe({maxWidth:t.isPlacementX?void 0:`calc(100vw - ${t.scrollbarWidth}px)`}),open:r.modelValue,"data-drawer":r.placement},[d("div",Xt,[r.hasCloseButton?(m(),w("button",{key:0,type:"button","aria-label":"Fechar",onClick:xe(t.close,["prevent"]),class:$(["absolute top-2",r.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[V(e.$slots,"close",{},()=>[Zt])],10,Jt)):D("",!0),V(e.$slots,"default")]),(m(),N(Ge,{to:r.backdropTarget},[I(o,null,{default:T(()=>[r.modelValue?(m(),w("div",en)):D("",!0)]),_:1})],8,["to"]))],14,Yt)):D("",!0)]),_:3},8,["slide"])}const nn=j(Qt,[["render",tn]]),Ye="ecomSession",Me={customer:{display_name:"",main_email:""},auth:null},z=St(Ye,Me),Fe=y(()=>{const{auth:e}=z;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),Xe=y(()=>z.customer),be=y(()=>zt(Xe.value)),De=y({get(){return Xe.value.main_email},set(e){z.customer.main_email=e}});let re;const Je=y(()=>Fe.value||!!re?.currentUser?.emailVerified),Le=()=>{z.auth=Me.auth,z.customer=Me.customer,localStorage.removeItem(Ye),re.signOut()},Ze=(e="Not authenticated")=>{const n=new Error(e);throw n.isNoAuth=!0,n},et=async()=>{const e=await re.currentUser?.getIdToken();if(!e){Ze("Can't get Firebase user ID token");return}const{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}`}});z.auth=await r.json()}catch(r){console.error(r)}},rn=async()=>(Fe.value||await et(),z.auth?z.auth.access_token:Ze()),an=async()=>{const e=await rn(),n=z.auth,{data:r}=await kt.get(`customers/${n.customer_id}`,{accessToken:e});return z.customer=r,r};let je=!1;const tt=(e=!window.location.pathname.startsWith("/app/"))=>{if(je)return;je=!0;const n=()=>Vt(()=>import("./firebase-app.1df8af9a.js"),[]).then(({getAuth:r,onAuthStateChanged:t,isSignInWithEmailLink:a,signInWithEmailLink:l})=>{if(re=r(),t(re,async o=>{if(o){if(o.displayName&&!be.value&&(z.customer.display_name=o.displayName),o.email&&(!De.value||o.emailVerified)&&(z.customer.main_email=o.email),o.emailVerified){const s=o.email!==De.value;(s||!Fe.value)&&(await et(),(s||!be.value)&&await an())}}else Le()}),a(re,window.location.href)){const s=new URLSearchParams(window.location.search).get("email");s&&l(re,s,window.location.href).then(()=>window.localStorage.removeItem("emailForSignIn")).catch(console.error)}}).catch(console.error);e?At(n):n()},on=A({__name:"AccountLink",props:{to:{},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=y(()=>{let l=r.accountUrl;if(!r.to)return r.isSignUp?l+="?sign_up&":l+="?",`${l}return_url=${r.returnUrl}`;const{settings:o}=globalThis.$storefront;return r.to==="orders"&&o.orders_url?o.orders_url:r.to==="favorites"&&o.favorites_url?o.favorites_url:`${l}/${r.to}`}),a={props:r,href:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),ln=["href"];function sn(e,n,r,t,a,l){return m(),w("a",{href:t.href},[V(e.$slots,"default")],8,ln)}const nt=j(on,[["render",sn]]),un=A({__name:"SocialNetworkIcon",props:{as:{default:"i"},network:{}},setup(e,{expose:n}){n();const r=e,t=y(()=>{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""}}),a={props:r,iconClassName:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function cn(e,n,r,t,a,l){return m(),N(Qe(r.as),{class:$(t.iconClassName)},null,8,["class"])}const dn=j(un,[["render",cn]]),fn=A({__name:"SocialNetworkLink",props:{network:{},href:{},message:{}},setup(e,{expose:n}){n();const r=e,t=y(()=>{let l=r.href||Ee[r.network]||"";if(r.network==="whatsapp"){const o=l.replace(/[^+\d]/g,"");l=`https://${ve?"api":"web"}.whatsapp.com/send?phone=`+encodeURIComponent(o.charAt(0)==="+"?o:`+55${o}`),r.message&&(l+=`&text=${encodeURIComponent(r.message)}`)}return l}),a={props:r,fixedHref:t,SocialNetworkIcon:dn};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function pn(e,n,r,t,a,l){const o=Q("ALink");return m(),N(o,{href:t.fixedHref},{default:T(()=>[V(e.$slots,"default",{},()=>[I(t.SocialNetworkIcon,{network:r.network},null,8,["network"]),V(e.$slots,"append")])]),_:3},8,["href"])}const rt=j(fn,[["render",pn]]),mn=A({__name:"ShopSidenavCategory",props:{categoryTree:{}},setup(e,{expose:n}){n();const r=S(!1),t=S(!0);ne(r,l=>{l?setTimeout(()=>{t.value=!1},25):t.value=!0});const a={isOpen:r,isFaded:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),vn={class:"text-lg text-base-800"},gn=["href"],hn=["href"],bn={class:"inline"};function _n(e,n,r,t,a,l){const o=Q("AImg"),s=Q("ShopSidenavCategory",!0);return m(),w("li",vn,[r.categoryTree.subcategories.length?(m(),w("details",{key:0,class:"bg-white overflow-y-auto overflow-x-hidden z-10 open:absolute open:top-0 open:left-0 open:w-full open:h-full",onToggle:n[0]||(n[0]=u=>t.isOpen=!t.isOpen)},[d("summary",{class:$(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[d("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?(m(),N(o,{key:0,picture:r.categoryTree.icon,alt:r.categoryTree.name,class:"w-auto h-5 inline mr-3"},null,8,["picture","alt"])):D("",!0),d("h3",{class:$(["inline",t.isOpen?"ml-4 text-base":null])},M(r.categoryTree.name),3)],2),d("ul",{class:$(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(m(!0),w(B,null,W(r.categoryTree.subcategories,(u,c)=>(m(),N(s,{key:c,"category-tree":u},null,8,["category-tree"]))),128)),d("li",null,[d("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,gn)])],2)],32)):(m(),w("a",{key:1,href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 active:bg-base-200"},[!t.isOpen&&r.categoryTree.icon?(m(),N(o,{key:0,picture:r.categoryTree.icon,alt:r.categoryTree.name,class:"w-auto h-5 inline mr-3"},null,8,["picture","alt"])):D("",!0),d("h3",bn,M(r.categoryTree.name),1)],8,hn))])}const yn=j(mn,[["render",_n]]),xn=A({__name:"ShopSidenav",props:{categoryTrees:{}},setup(e,{expose:n}){n(),oe(()=>tt());const r={get customerName(){return be},get isLogged(){return Je},get logout(){return Le},get socialNetworks(){return Ee},AccountLink:nt,SocialNetworkLink:rt,ShopSidenavCategory:yn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),wn={class:"flex flex-col h-full"},Sn={class:"py-4 grow"},kn={class:"relative h-full"},Pn={class:"text-base"},In={class:"flex items-center px-2 py-4 bg-base-100"},Mn=d("i",{class:"i-user-circle text-4xl text-base-500 m-0"},null,-1),Cn={class:"leading-tight"},Tn=d("small",{class:"block lowercase font-semibold text-primary"},M("Meus pedidos")+", "+M("Minha conta"),-1),En=d("span",{class:"text-base-600"},M("Sair"),-1),On=d("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),Fn=[En,On],Ln={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function An(e,n,r,t,a,l){return m(),w("aside",wn,[d("nav",Sn,[d("ul",kn,[(m(!0),w(B,null,W(r.categoryTrees,(o,s)=>(m(),N(t.ShopSidenavCategory,{key:s,"category-tree":o},null,8,["category-tree"]))),128))])]),d("footer",Pn,[d("div",In,[I(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:T(()=>[Mn,d("span",Cn,[R(M(`Olá ${t.customerName||"Visitante"}`)+" ",1),Tn])]),_:1}),t.isLogged?(m(),w("button",{key:0,onClick:n[0]||(n[0]=(...o)=>t.logout&&t.logout(...o)),class:"p-2 text-right text-base-800"},Fn)):D("",!0)]),d("ul",Ln,[(m(!0),w(B,null,W(t.socialNetworks,(o,s)=>(m(),w("li",{key:s},[I(t.SocialNetworkLink,{network:s,class:"p-1 active:text-primary"},null,8,["network"])]))),128))])])])}const $n=j(xn,[["render",An]]);function q(e,n,...r){if(e in n){let a=n[e];return typeof a=="function"?a(...r):a}let t=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(a=>`"${a}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,q),t}var ue=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(ue||{}),Nn=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(Nn||{});function te({visible:e=!0,features:n=0,ourProps:r,theirProps:t,...a}){var l;let o=ot(t,r),s=Object.assign(a,{props:o});if(e||n&2&&o.static)return Ie(s);if(n&1){let u=(l=o.unmount)==null||l?0:1;return q(u,{0(){return null},1(){return Ie({...a,props:{...o,hidden:!0,style:{display:"none"}}})}})}return Ie(s)}function Ie({props:e,attrs:n,slots:r,slot:t,name:a}){var l,o;let{as:s,...u}=Dn(e,["unmount","static"]),c=(l=r.default)==null?void 0:l.call(r,t),i={};if(t){let _=!1,v=[];for(let[f,b]of Object.entries(t))typeof b=="boolean"&&(_=!0),b===!0&&v.push(f);_&&(i["data-headlessui-state"]=v.join(" "))}if(s==="template"){if(c=at(c??[]),Object.keys(u).length>0||Object.keys(n).length>0){let[_,...v]=c??[];if(!jn(_)||v.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${a} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(u).concat(Object.keys(n)).map(p=>p.trim()).filter((p,h,P)=>P.indexOf(p)===h).sort((p,h)=>p.localeCompare(h)).map(p=>` - ${p}`).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(p=>` - ${p}`).join(`
3
- `)].join(`
4
- `));let f=ot((o=_.props)!=null?o:{},u),b=jt(_,f);for(let p in f)p.startsWith("on")&&(b.props||(b.props={}),b.props[p]=f[p]);return b}return Array.isArray(c)&&c.length===1?c[0]:c}return Z(s,Object.assign({},u,i),{default:()=>c})}function at(e){return e.flatMap(n=>n.type===B?at(n.children):[n])}function ot(...e){if(e.length===0)return{};if(e.length===1)return e[0];let n={},r={};for(let t of e)for(let a in t)a.startsWith("on")&&typeof t[a]=="function"?(r[a]!=null||(r[a]=[]),r[a].push(t[a])):n[a]=t[a];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](a,...l){let o=r[t];for(let s of o){if(a instanceof Event&&a.defaultPrevented)return;s(a,...l)}}});return n}function Dn(e,n=[]){let r=Object.assign({},e);for(let t of n)t in r&&delete r[t];return r}function jn(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let Bn=0;function Rn(){return++Bn}function ee(){return Rn()}var L=(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))(L||{});function Vn(e){throw new Error("Unexpected object: "+e)}var H=(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))(H||{});function Hn(e,n){let r=n.resolveItems();if(r.length<=0)return null;let t=n.resolveActiveIndex(),a=t??-1,l=(()=>{switch(e.focus){case 0:return r.findIndex(o=>!n.resolveDisabled(o));case 1:{let o=r.slice().reverse().findIndex((s,u,c)=>a!==-1&&c.length-u-1>=a?!1:!n.resolveDisabled(s));return o===-1?o:r.length-1-o}case 2:return r.findIndex((o,s)=>s<=a?!1:!n.resolveDisabled(o));case 3:{let o=r.slice().reverse().findIndex(s=>!n.resolveDisabled(s));return o===-1?o:r.length-1-o}case 4:return r.findIndex(o=>n.resolveId(o)===e.id);case 5:return null;default:Vn(e)}})();return l===-1?t:l}function g(e){var n;return e==null||e.value==null?null:(n=e.value.$el)!=null?n:e.value}let lt=Symbol("Context");var Y=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(Y||{});function st(){return le(lt,null)}function it(e){ie(lt,e)}function Be(e,n){if(e)return e;let r=n??"button";if(typeof r=="string"&&r.toLowerCase()==="button")return"button"}function ut(e,n){let r=S(Be(e.value.type,e.value.as));return oe(()=>{r.value=Be(e.value.type,e.value.as)}),X(()=>{var t;r.value||g(n)&&g(n)instanceof HTMLButtonElement&&!((t=g(n))!=null&&t.hasAttribute("type"))&&(r.value="button")}),r}var Un=Object.defineProperty,zn=(e,n,r)=>n in e?Un(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,Re=(e,n,r)=>(zn(e,typeof n!="symbol"?n+"":n,r),r);class Kn{constructor(){Re(this,"current",this.detect()),Re(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 we=new Kn;function se(e){if(we.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let n=g(e);if(n)return n.ownerDocument}return document}function Wn({container:e,accept:n,walk:r,enabled:t}){X(()=>{let a=e.value;if(!a||t!==void 0&&!t.value)return;let l=se(e);if(!l)return;let o=Object.assign(u=>n(u),{acceptNode:n}),s=l.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)r(s.currentNode)})}let Ce=["[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 K=(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))(K||{}),_e=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(_e||{}),qn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(qn||{});function de(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Ce)).sort((n,r)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(r.tabIndex||Number.MAX_SAFE_INTEGER)))}var Se=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(Se||{});function ke(e,n=0){var r;return e===((r=se(e))==null?void 0:r.body)?!1:q(n,{0(){return e.matches(Ce)},1(){let t=e;for(;t!==null;){if(t.matches(Ce))return!0;t=t.parentElement}return!1}})}function ct(e){let n=se(e);ae(()=>{n&&!ke(n.activeElement,0)&&Qn(e)})}var Gn=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Gn||{});typeof window<"u"&&typeof document<"u"&&(document.addEventListener("keydown",e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible="")},!0),document.addEventListener("click",e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible="")},!0));function Qn(e){e?.focus({preventScroll:!0})}let Yn=["textarea","input"].join(",");function Xn(e){var n,r;return(r=(n=e?.matches)==null?void 0:n.call(e,Yn))!=null?r:!1}function dt(e,n=r=>r){return e.slice().sort((r,t)=>{let a=n(r),l=n(t);if(a===null||l===null)return 0;let o=a.compareDocumentPosition(l);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Jn(e,n){return J(de(),n,{relativeTo:e})}function J(e,n,{sorted:r=!0,relativeTo:t=null,skipElements:a=[]}={}){var l;let o=(l=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e?.ownerDocument)!=null?l:document,s=Array.isArray(e)?r?dt(e):e:de(e);a.length>0&&s.length>1&&(s=s.filter(b=>!a.includes(b))),t=t??o.activeElement;let u=(()=>{if(n&5)return 1;if(n&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),c=(()=>{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}:{},_=0,v=s.length,f;do{if(_>=v||_+v<=0)return 0;let b=c+_;if(n&16)b=(b+v)%v;else{if(b<0)return 3;if(b>=v)return 1}f=s[b],f?.focus(i),_+=u}while(f!==o.activeElement);return n&6&&Xn(f)&&f.select(),2}function me(e,n,r){we.isServer||X(t=>{document.addEventListener(e,n,r),t(()=>document.removeEventListener(e,n,r))})}function ft(e,n,r){we.isServer||X(t=>{window.addEventListener(e,n,r),t(()=>window.removeEventListener(e,n,r))})}function pt(e,n,r=y(()=>!0)){function t(l,o){if(!r.value||l.defaultPrevented)return;let s=o(l);if(s===null||!s.getRootNode().contains(s))return;let u=function c(i){return typeof i=="function"?c(i()):Array.isArray(i)||i instanceof Set?i:[i]}(e);for(let c of u){if(c===null)continue;let i=c instanceof HTMLElement?c:g(c);if(i!=null&&i.contains(s)||l.composed&&l.composedPath().includes(i))return}return!ke(s,Se.Loose)&&s.tabIndex!==-1&&l.preventDefault(),n(l,s)}let a=S(null);me("pointerdown",l=>{var o,s;r.value&&(a.value=((s=(o=l.composedPath)==null?void 0:o.call(l))==null?void 0:s[0])||l.target)},!0),me("mousedown",l=>{var o,s;r.value&&(a.value=((s=(o=l.composedPath)==null?void 0:o.call(l))==null?void 0:s[0])||l.target)},!0),me("click",l=>{a.value&&(t(l,()=>a.value),a.value=null)},!0),me("touchend",l=>t(l,()=>l.target instanceof HTMLElement?l.target:null),!0),ft("blur",l=>t(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var ce=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(ce||{});let ye=A({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:n,attrs:r}){return()=>{let{features:t,...a}=e,l={"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 te({ourProps:l,theirProps:a,slot:{},attrs:r,slots:n,name:"Hidden"})}}});function Ve(e){return[e.screenX,e.screenY]}function Zn(){let e=S([-1,-1]);return{wasMoved(n){let r=Ve(n);return e.value[0]===r[0]&&e.value[1]===r[1]?!1:(e.value=r,!0)},update(n){e.value=Ve(n)}}}var G=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(G||{});function mt(){let e=S(0);return ft("keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function er(e,n,r,t){we.isServer||X(a=>{e=e??window,e.addEventListener(n,r,t),a(()=>e.removeEventListener(n,r,t))})}let He=Symbol("PortalParentContext");function tr(){let e=le(He,null),n=S([]);function r(l){return n.value.push(l),e&&e.register(l),()=>t(l)}function t(l){let o=n.value.indexOf(l);o!==-1&&n.value.splice(o,1),e&&e.unregister(l)}let a={register:r,unregister:t,portals:n};return[n,A({name:"PortalWrapper",setup(l,{slots:o}){return ie(He,a),()=>{var s;return(s=o.default)==null?void 0:s.call(o)}}})]}function nr({defaultContainers:e=[],portals:n}={}){let r=S(null),t=se(r);function a(){var l;let o=[];for(let s of e)s!==null&&(s instanceof HTMLElement?o.push(s):"value"in s&&s.value instanceof HTMLElement&&o.push(s.value));if(n!=null&&n.value)for(let s of n.value)o.push(s);for(let s of(l=t?.querySelectorAll("html > *, body > *"))!=null?l:[])s!==document.body&&s!==document.head&&s instanceof HTMLElement&&s.id!=="headlessui-portal-root"&&(s.contains(g(r))||o.some(u=>s.contains(u))||o.push(s));return o}return{resolveContainers:a,contains(l){return a().some(o=>o.contains(l))},mainTreeNodeRef:r,MainTreeNode(){return Z(ye,{features:ce.Hidden,ref:r})}}}let Ue=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function ze(e){var n,r;let t=(n=e.innerText)!=null?n:"",a=e.cloneNode(!0);if(!(a instanceof HTMLElement))return t;let l=!1;for(let s of a.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))s.remove(),l=!0;let o=l?(r=a.innerText)!=null?r:"":t;return Ue.test(o)&&(o=o.replace(Ue,"")),o}function rr(e){let n=e.getAttribute("aria-label");if(typeof n=="string")return n.trim();let r=e.getAttribute("aria-labelledby");if(r){let t=r.split(" ").map(a=>{let l=document.getElementById(a);if(l){let o=l.getAttribute("aria-label");return typeof o=="string"?o.trim():ze(l).trim()}return null}).filter(Boolean);if(t.length>0)return t.join(", ")}return ze(e).trim()}function ar(e){let n=S(""),r=S("");return()=>{let t=g(e);if(!t)return"";let a=t.innerText;if(n.value===a)return r.value;let l=rr(t).trim().toLowerCase();return n.value=a,r.value=l,l}}var or=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(or||{}),lr=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(lr||{});function sr(e){requestAnimationFrame(()=>requestAnimationFrame(e))}let vt=Symbol("MenuContext");function Pe(e){let n=le(vt,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Pe),r}return n}let ir=A({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(e,{slots:n,attrs:r}){let t=S(1),a=S(null),l=S(null),o=S([]),s=S(""),u=S(null),c=S(1);function i(v=f=>f){let f=u.value!==null?o.value[u.value]:null,b=dt(v(o.value.slice()),h=>g(h.dataRef.domRef)),p=f?b.indexOf(f):null;return p===-1&&(p=null),{items:b,activeItemIndex:p}}let _={menuState:t,buttonRef:a,itemsRef:l,items:o,searchQuery:s,activeItemIndex:u,activationTrigger:c,closeMenu:()=>{t.value=1,u.value=null},openMenu:()=>t.value=0,goToItem(v,f,b){let p=i(),h=Hn(v===H.Specific?{focus:H.Specific,id:f}:{focus:v},{resolveItems:()=>p.items,resolveActiveIndex:()=>p.activeItemIndex,resolveId:P=>P.id,resolveDisabled:P=>P.dataRef.disabled});s.value="",u.value=h,c.value=b??1,o.value=p.items},search(v){let f=s.value!==""?0:1;s.value+=v.toLowerCase();let b=(u.value!==null?o.value.slice(u.value+f).concat(o.value.slice(0,u.value+f)):o.value).find(h=>h.dataRef.textValue.startsWith(s.value)&&!h.dataRef.disabled),p=b?o.value.indexOf(b):-1;p===-1||p===u.value||(u.value=p,c.value=1)},clearSearch(){s.value=""},registerItem(v,f){let b=i(p=>[...p,{id:v,dataRef:f}]);o.value=b.items,u.value=b.activeItemIndex,c.value=1},unregisterItem(v){let f=i(b=>{let p=b.findIndex(h=>h.id===v);return p!==-1&&b.splice(p,1),b});o.value=f.items,u.value=f.activeItemIndex,c.value=1}};return pt([a,l],(v,f)=>{var b;_.closeMenu(),ke(f,Se.Loose)||(v.preventDefault(),(b=g(a))==null||b.focus())},y(()=>t.value===0)),ie(vt,_),it(y(()=>q(t.value,{0:Y.Open,1:Y.Closed}))),()=>{let v={open:t.value===0,close:_.closeMenu};return te({ourProps:{},theirProps:e,slot:v,slots:n,attrs:r,name:"Menu"})}}}),ur=A({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-menu-button-${ee()}`}},setup(e,{attrs:n,slots:r,expose:t}){let a=Pe("MenuButton");t({el:a.buttonRef,$el:a.buttonRef});function l(c){switch(c.key){case L.Space:case L.Enter:case L.ArrowDown:c.preventDefault(),c.stopPropagation(),a.openMenu(),ae(()=>{var i;(i=g(a.itemsRef))==null||i.focus({preventScroll:!0}),a.goToItem(H.First)});break;case L.ArrowUp:c.preventDefault(),c.stopPropagation(),a.openMenu(),ae(()=>{var i;(i=g(a.itemsRef))==null||i.focus({preventScroll:!0}),a.goToItem(H.Last)});break}}function o(c){switch(c.key){case L.Space:c.preventDefault();break}}function s(c){e.disabled||(a.menuState.value===0?(a.closeMenu(),ae(()=>{var i;return(i=g(a.buttonRef))==null?void 0:i.focus({preventScroll:!0})})):(c.preventDefault(),a.openMenu(),sr(()=>{var i;return(i=g(a.itemsRef))==null?void 0:i.focus({preventScroll:!0})})))}let u=ut(y(()=>({as:e.as,type:n.type})),a.buttonRef);return()=>{var c;let i={open:a.menuState.value===0},{id:_,...v}=e,f={ref:a.buttonRef,id:_,type:u.value,"aria-haspopup":"menu","aria-controls":(c=g(a.itemsRef))==null?void 0:c.id,"aria-expanded":a.menuState.value===0,onKeydown:l,onKeyup:o,onClick:s};return te({ourProps:f,theirProps:v,slot:i,attrs:n,slots:r,name:"MenuButton"})}}}),cr=A({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-${ee()}`}},setup(e,{attrs:n,slots:r,expose:t}){let a=Pe("MenuItems"),l=S(null);t({el:a.itemsRef,$el:a.itemsRef}),Wn({container:y(()=>g(a.itemsRef)),enabled:y(()=>a.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 o(i){var _;switch(l.value&&clearTimeout(l.value),i.key){case L.Space:if(a.searchQuery.value!=="")return i.preventDefault(),i.stopPropagation(),a.search(i.key);case L.Enter:if(i.preventDefault(),i.stopPropagation(),a.activeItemIndex.value!==null){let v=a.items.value[a.activeItemIndex.value];(_=g(v.dataRef.domRef))==null||_.click()}a.closeMenu(),ct(g(a.buttonRef));break;case L.ArrowDown:return i.preventDefault(),i.stopPropagation(),a.goToItem(H.Next);case L.ArrowUp:return i.preventDefault(),i.stopPropagation(),a.goToItem(H.Previous);case L.Home:case L.PageUp:return i.preventDefault(),i.stopPropagation(),a.goToItem(H.First);case L.End:case L.PageDown:return i.preventDefault(),i.stopPropagation(),a.goToItem(H.Last);case L.Escape:i.preventDefault(),i.stopPropagation(),a.closeMenu(),ae(()=>{var v;return(v=g(a.buttonRef))==null?void 0:v.focus({preventScroll:!0})});break;case L.Tab:i.preventDefault(),i.stopPropagation(),a.closeMenu(),ae(()=>Jn(g(a.buttonRef),i.shiftKey?K.Previous:K.Next));break;default:i.key.length===1&&(a.search(i.key),l.value=setTimeout(()=>a.clearSearch(),350));break}}function s(i){switch(i.key){case L.Space:i.preventDefault();break}}let u=st(),c=y(()=>u!==null?(u.value&Y.Open)===Y.Open:a.menuState.value===0);return()=>{var i,_;let v={open:a.menuState.value===0},{id:f,...b}=e,p={"aria-activedescendant":a.activeItemIndex.value===null||(i=a.items.value[a.activeItemIndex.value])==null?void 0:i.id,"aria-labelledby":(_=g(a.buttonRef))==null?void 0:_.id,id:f,onKeydown:o,onKeyup:s,role:"menu",tabIndex:0,ref:a.itemsRef};return te({ourProps:p,theirProps:b,slot:v,attrs:n,slots:r,features:ue.RenderStrategy|ue.Static,visible:c.value,name:"MenuItems"})}}}),dr=A({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-menu-item-${ee()}`}},setup(e,{slots:n,attrs:r,expose:t}){let a=Pe("MenuItem"),l=S(null);t({el:l,$el:l});let o=y(()=>a.activeItemIndex.value!==null?a.items.value[a.activeItemIndex.value].id===e.id:!1),s=ar(l),u=y(()=>({disabled:e.disabled,get textValue(){return s()},domRef:l}));oe(()=>a.registerItem(e.id,u)),Oe(()=>a.unregisterItem(e.id)),X(()=>{a.menuState.value===0&&o.value&&a.activationTrigger.value!==0&&ae(()=>{var p,h;return(h=(p=g(l))==null?void 0:p.scrollIntoView)==null?void 0:h.call(p,{block:"nearest"})})});function c(p){if(e.disabled)return p.preventDefault();a.closeMenu(),ct(g(a.buttonRef))}function i(){if(e.disabled)return a.goToItem(H.Nothing);a.goToItem(H.Specific,e.id)}let _=Zn();function v(p){_.update(p)}function f(p){_.wasMoved(p)&&(e.disabled||o.value||a.goToItem(H.Specific,e.id,0))}function b(p){_.wasMoved(p)&&(e.disabled||o.value&&a.goToItem(H.Nothing))}return()=>{let{disabled:p}=e,h={active:o.value,disabled:p,close:a.closeMenu},{id:P,...E}=e;return te({ourProps:{id:P,ref:l,role:"menuitem",tabIndex:p===!0?void 0:-1,"aria-disabled":p===!0?!0:void 0,disabled:void 0,onClick:c,onFocus:i,onPointerenter:v,onMouseenter:v,onPointermove:f,onMousemove:f,onPointerleave:b,onMouseleave:b},theirProps:{...r,...E},slot:h,attrs:r,slots:n,name:"MenuItem"})}}});var fr=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(fr||{});let gt=Symbol("PopoverContext");function Ae(e){let n=le(gt,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <${_t.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Ae),r}return n}let pr=Symbol("PopoverGroupContext");function ht(){return le(pr,null)}let bt=Symbol("PopoverPanelContext");function mr(){return le(bt,null)}let _t=A({name:"Popover",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:n,attrs:r,expose:t}){var a;let l=S(null);t({el:l,$el:l});let o=S(1),s=S(null),u=S(null),c=S(null),i=S(null),_=y(()=>se(l)),v=y(()=>{var k,C;if(!g(s)||!g(i))return!1;for(let pe of document.querySelectorAll("body > *"))if(Number(pe?.contains(g(s)))^Number(pe?.contains(g(i))))return!0;let O=de(),U=O.indexOf(g(s)),fe=(U+O.length-1)%O.length,yt=(U+1)%O.length,xt=O[fe],wt=O[yt];return!((k=g(i))!=null&&k.contains(xt))&&!((C=g(i))!=null&&C.contains(wt))}),f={popoverState:o,buttonId:S(null),panelId:S(null),panel:i,button:s,isPortalled:v,beforePanelSentinel:u,afterPanelSentinel:c,togglePopover(){o.value=q(o.value,{0:1,1:0})},closePopover(){o.value!==1&&(o.value=1)},close(k){f.closePopover();let C=(()=>k?k instanceof HTMLElement?k:k.value instanceof HTMLElement?g(k):g(f.button):g(f.button))();C?.focus()}};ie(gt,f),it(y(()=>q(o.value,{0:Y.Open,1:Y.Closed})));let b={buttonId:f.buttonId,panelId:f.panelId,close(){f.closePopover()}},p=ht(),h=p?.registerPopover,[P,E]=tr(),x=nr({portals:P,defaultContainers:[s,i]});function F(){var k,C,O,U;return(U=p?.isFocusWithinPopoverGroup())!=null?U:((k=_.value)==null?void 0:k.activeElement)&&(((C=g(s))==null?void 0:C.contains(_.value.activeElement))||((O=g(i))==null?void 0:O.contains(_.value.activeElement)))}return X(()=>h?.(b)),er((a=_.value)==null?void 0:a.defaultView,"focus",k=>{var C,O;k.target!==window&&k.target instanceof HTMLElement&&o.value===0&&(F()||s&&i&&(x.contains(k.target)||(C=g(f.beforePanelSentinel))!=null&&C.contains(k.target)||(O=g(f.afterPanelSentinel))!=null&&O.contains(k.target)||f.closePopover()))},!0),pt(x.resolveContainers,(k,C)=>{var O;f.closePopover(),ke(C,Se.Loose)||(k.preventDefault(),(O=g(s))==null||O.focus())},y(()=>o.value===0)),()=>{let k={open:o.value===0,close:f.close};return Z(E,{},()=>te({theirProps:{...e,...r},ourProps:{ref:l},slot:k,slots:n,attrs:r,name:"Popover"}))}}}),vr=A({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-popover-button-${ee()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let a=Ae("PopoverButton"),l=y(()=>se(a.button));t({el:a.button,$el:a.button}),oe(()=>{a.buttonId.value=e.id}),Oe(()=>{a.buttonId.value=null});let o=ht(),s=o?.closeOthers,u=mr(),c=y(()=>u===null?!1:u.value===a.panelId.value),i=S(null),_=`headlessui-focus-sentinel-${ee()}`;c.value||X(()=>{a.button.value=i.value});let v=ut(y(()=>({as:e.as,type:n.type})),i);function f(x){var F,k,C,O,U;if(c.value){if(a.popoverState.value===1)return;switch(x.key){case L.Space:case L.Enter:x.preventDefault(),(k=(F=x.target).click)==null||k.call(F),a.closePopover(),(C=g(a.button))==null||C.focus();break}}else switch(x.key){case L.Space:case L.Enter:x.preventDefault(),x.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover();break;case L.Escape:if(a.popoverState.value!==0)return s?.(a.buttonId.value);if(!g(a.button)||(O=l.value)!=null&&O.activeElement&&!((U=g(a.button))!=null&&U.contains(l.value.activeElement)))return;x.preventDefault(),x.stopPropagation(),a.closePopover();break}}function b(x){c.value||x.key===L.Space&&x.preventDefault()}function p(x){var F,k;e.disabled||(c.value?(a.closePopover(),(F=g(a.button))==null||F.focus()):(x.preventDefault(),x.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover(),(k=g(a.button))==null||k.focus()))}function h(x){x.preventDefault(),x.stopPropagation()}let P=mt();function E(){let x=g(a.panel);if(!x)return;function F(){q(P.value,{[G.Forwards]:()=>J(x,K.First),[G.Backwards]:()=>J(x,K.Last)})===_e.Error&&J(de().filter(k=>k.dataset.headlessuiFocusGuard!=="true"),q(P.value,{[G.Forwards]:K.Next,[G.Backwards]:K.Previous}),{relativeTo:g(a.button)})}F()}return()=>{let x=a.popoverState.value===0,F={open:x},{id:k,...C}=e,O=c.value?{ref:i,type:v.value,onKeydown:f,onClick:p}:{ref:i,id:k,type:v.value,"aria-expanded":a.popoverState.value===0,"aria-controls":g(a.panel)?a.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:f,onKeyup:b,onClick:p,onMousedown:h};return Z(B,[te({ourProps:O,theirProps:{...n,...C},slot:F,attrs:n,slots:r,name:"PopoverButton"}),x&&!c.value&&a.isPortalled.value&&Z(ye,{id:_,features:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:E})])}}}),gr=A({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-${ee()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let{focus:a}=e,l=Ae("PopoverPanel"),o=y(()=>se(l.panel)),s=`headlessui-focus-sentinel-before-${ee()}`,u=`headlessui-focus-sentinel-after-${ee()}`;t({el:l.panel,$el:l.panel}),oe(()=>{l.panelId.value=e.id}),Oe(()=>{l.panelId.value=null}),ie(bt,l.panelId),X(()=>{var h,P;if(!a||l.popoverState.value!==0||!l.panel)return;let E=(h=o.value)==null?void 0:h.activeElement;(P=g(l.panel))!=null&&P.contains(E)||J(g(l.panel),K.First)});let c=st(),i=y(()=>c!==null?(c.value&Y.Open)===Y.Open:l.popoverState.value===0);function _(h){var P,E;switch(h.key){case L.Escape:if(l.popoverState.value!==0||!g(l.panel)||o.value&&!((P=g(l.panel))!=null&&P.contains(o.value.activeElement)))return;h.preventDefault(),h.stopPropagation(),l.closePopover(),(E=g(l.button))==null||E.focus();break}}function v(h){var P,E,x,F,k;let C=h.relatedTarget;C&&g(l.panel)&&((P=g(l.panel))!=null&&P.contains(C)||(l.closePopover(),((x=(E=g(l.beforePanelSentinel))==null?void 0:E.contains)!=null&&x.call(E,C)||(k=(F=g(l.afterPanelSentinel))==null?void 0:F.contains)!=null&&k.call(F,C))&&C.focus({preventScroll:!0})))}let f=mt();function b(){let h=g(l.panel);if(!h)return;function P(){q(f.value,{[G.Forwards]:()=>{var E;J(h,K.First)===_e.Error&&((E=g(l.afterPanelSentinel))==null||E.focus())},[G.Backwards]:()=>{var E;(E=g(l.button))==null||E.focus({preventScroll:!0})}})}P()}function p(){let h=g(l.panel);if(!h)return;function P(){q(f.value,{[G.Forwards]:()=>{let E=g(l.button),x=g(l.panel);if(!E)return;let F=de(),k=F.indexOf(E),C=F.slice(0,k+1),O=[...F.slice(k+1),...C];for(let U of O.slice())if(U.dataset.headlessuiFocusGuard==="true"||x!=null&&x.contains(U)){let fe=O.indexOf(U);fe!==-1&&O.splice(fe,1)}J(O,K.First,{sorted:!1})},[G.Backwards]:()=>{var E;J(h,K.Previous)===_e.Error&&((E=g(l.button))==null||E.focus())}})}P()}return()=>{let h={open:l.popoverState.value===0,close:l.close},{id:P,focus:E,...x}=e,F={ref:l.panel,id:P,onKeydown:_,onFocusout:a&&l.popoverState.value===0?v:void 0,tabIndex:-1};return te({ourProps:F,theirProps:{...n,...x},attrs:n,slot:h,slots:{...r,default:(...k)=>{var C;return[Z(B,[i.value&&l.isPortalled.value&&Z(ye,{id:s,ref:l.beforePanelSentinel,features:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:b}),(C=r.default)==null?void 0:C.call(r,...k),i.value&&l.isPortalled.value&&Z(ye,{id:u,ref:l.afterPanelSentinel,features:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:p})])]}},features:ue.RenderStrategy|ue.Static,visible:i.value,name:"PopoverPanel"})}}});const hr=e=>{const n=y(()=>{const u=e.categoryTree.pictures?.[0];if(u&&!u.alt)return{alt:e.categoryTree.name,...u}}),r=y(()=>e.categoryTree.subcategories.filter(({subcategories:u})=>u.length)),t=y(()=>{let u=r.value.length;return n.value&&(u+=1),r.value.length<e.categoryTree.subcategories.length&&(u+=1),u}),a=y(()=>(e.megaMenuMaxCols||7)>=t.value),l=y(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:u})=>!u.length):e.categoryTree.subcategories),o=y(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:u})=>u.length):e.categoryTree.subcategories),s=y(()=>a.value?t.value:n.value?2:1);return{categoryPicture:n,isMegaMenu:a,subcategoryLinks:l,subcategoryCols:o,countMenuCols:s}},br=A({__name:"ShopHeaderSubmenu",props:{categoryTree:{},megaMenuMaxCols:{}},setup(e,{expose:n}){n();const r=e,{categoryPicture:t,subcategoryLinks:a,subcategoryCols:l,countMenuCols:o}=hr(r),s={props:r,categoryPicture:t,subcategoryLinks:a,subcategoryCols:l,countMenuCols:o,get Popover(){return _t},get PopoverButton(){return vr},get PopoverPanel(){return gr}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),_r={class:"relative"},yr={class:"flex gap-6 w-full"},xr={key:0,class:"flex-1"},wr=["href"],Sr=["href"],kr={class:"text-sm text-base-600 mt-1 mb-1.5"},Pr=["href"],Ir=["href"];function Mr(e,n,r,t,a,l){const o=Q("AImg"),s=Q("Fade");return m(),N(t.Popover,null,{default:T(({open:u})=>[I(t.PopoverButton,{class:"outline-none"},{default:T(()=>[V(e.$slots,"button",ge(he({open:u})))]),_:2},1024),d("div",_r,[I(s,null,{default:T(()=>[I(t.PopoverPanel,{class:$(["absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform px-6 py-4 rounded backdrop-blur-md shadow bg-white/80 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:T(()=>[d("div",yr,[t.subcategoryLinks.length?(m(),w("ul",xr,[(m(!0),w(B,null,W(t.subcategoryLinks,(c,i)=>(m(),w("li",{key:`link-${i}`,class:$(t.subcategoryLinks.length>10?"text-sm mb-1":"mb-2")},[d("a",{href:`/${c.slug}`,class:"hover:text-primary"},[d("h3",null,M(c.name),1)],8,wr)],2))),128))])):D("",!0),(m(!0),w(B,null,W(t.subcategoryCols,(c,i)=>(m(),w("div",{key:i,class:"flex-1"},[d("a",{href:`/${c.slug}`,class:"hover:text-primary"},[d("h3",null,M(c.name),1)],8,Sr),d("ul",kr,[(m(!0),w(B,null,W(c.subcategories,(_,v)=>(m(),w("li",{key:`${i}-${v}`,class:"mb-0.5"},[d("a",{href:`/${_.slug}`,class:"hover:text-primary hover:underline"},[d("h3",null,M(_.name),1)],8,Pr)]))),128))])]))),128)),t.categoryPicture?(m(),w("div",{key:1,class:$(t.countMenuCols===2?"basis-1/2":t.countMenuCols<5?"basis-2/5":"basis-1/3")},[I(o,{picture:t.categoryPicture,class:"ml-auto rounded"},null,8,["picture"])],2)):D("",!0)]),d("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,Ir)]),_:1},8,["class"])]),_:1})])]),_:3})}const Cr=j(br,[["render",Mr]]),Tr=A({__name:"ShopHeaderMenu",props:{inlineMenuTrees:{}},setup(e,{expose:n}){n();const r=e,t=y(()=>!!r.inlineMenuTrees.find(({subcategories:l})=>!l.length)),a={props:r,hasOneLevelSubcategories:t,ShopHeaderSubmenu:Cr};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Er={class:"hover:text-primary group"},Or=["href"],Fr={class:"inline"};function Lr(e,n,r,t,a,l){return m(),w("nav",null,[d("ul",{class:$(["flex gap-4 xl:gap-5 text-base-700",r.inlineMenuTrees.length<7?"text-base":"text-sm"])},[(m(!0),w(B,null,W(r.inlineMenuTrees,(o,s)=>(m(),w("li",{key:s},[o.subcategories.length?(m(),N(t.ShopHeaderSubmenu,{key:0,"category-tree":o},{button:T(({open:u})=>[d("span",Er,[d("h3",{class:$(["group-hover:underline inline",[r.inlineMenuTrees.length<7?"decoration-2":null,u?"underline":null]])},M(o.name),3),t.hasOneLevelSubcategories?(m(),w("i",{key:0,class:$(["i-chevron-down ml-1 transition-transform text-base-400 group-hover:text-primary-subtle",u?"rotate-180":null])},null,2)):D("",!0)])]),_:2},1032,["category-tree"])):(m(),w("a",{key:1,href:`/${o.slug}`,class:$(["hover:text-primary hover:underline",r.inlineMenuTrees.length<7?"decoration-2":null])},[d("h3",Fr,M(o.name),1)],10,Or))]))),128))],2)])}const Ar=j(Tr,[["render",Lr]]),$r={},Nr={class:"w-full h-40 bg-base-300"};function Dr(e,n){return m(),w("div",Nr)}const jr=j($r,[["render",Dr]]),Br=A({__name:"AccountMenu",props:{serviceLinks:{}},setup(e,{expose:n}){n();const r={get Menu(){return ir},get MenuButton(){return ur},get MenuItems(){return cr},get MenuItem(){return dr},get socialNetworks(){return Ee},get customerName(){return be},get initializeFirebaseAuth(){return tt},get isLogged(){return Je},get logout(){return Le},AccountLink:nt,SocialNetworkLink:rt};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Rr={key:0},Vr={class:"p-3 text-base-600"},Hr={class:"list-none"},Ur=d("i",{class:"i-heart mr-1"},null,-1),zr={class:"flex justify-center gap-2 p-2 text-base-500 text-base"},Kr=d("span",{class:"text-base-600"},M("Sair"),-1),Wr=d("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),qr=[Kr,Wr];function Gr(e,n,r,t,a,l){const o=Q("ALink"),s=Q("Fade");return m(),N(t.Menu,{as:"div",class:"relative text-center text-sm text-base-800"},{default:T(({open:u})=>[u?(m(),w("div",Rr,[n[0]||($e(-1),n[0]=d("span",null,[R(M(t.initializeFirebaseAuth()),1)]),$e(1),n[0])])):D("",!0),I(t.MenuButton,{class:"outline-none","aria-label":"Minha conta"},{default:T(()=>[V(e.$slots,"button",ge(he({open:u})))]),_:2},1024),I(s,null,{default:T(()=>[I(t.MenuItems,{class:"absolute -right-8 mt-2 w-56 rounded shadow ring-1 ring-black/5 bg-white divide-y divide-base-100 focus:outline-none"},{default:T(()=>[d("div",Vr,[R(M(`Olá ${t.customerName||"Visitante"}`)+" ",1),I(t.AccountLink,{role:"button",class:"ui-btn-sm ui-btn-primary block my-1"},{default:T(()=>[R(M("Acessar minha conta"))]),_:1}),t.isLogged?D("",!0):(m(),N(t.AccountLink,{key:0,"is-sign-up":"",class:"ui-link block"},{default:T(()=>[R(M("Criar uma conta"))]),_:1}))]),d("ul",Hr,[I(t.MenuItem,{as:"li"},{default:T(({active:c})=>[I(t.AccountLink,{to:"orders",class:$(["block p-2",c?"bg-base-100 text-primary":null])},{default:T(()=>[R(M("Meus pedidos"))]),_:2},1032,["class"])]),_:1}),I(t.MenuItem,{as:"li"},{default:T(({active:c})=>[I(t.AccountLink,{to:"favorites",class:$(["block p-2",c?"bg-base-100 text-primary":null])},{default:T(()=>[Ur,R(" "+M("Meus favoritos"))]),_:2},1032,["class"])]),_:1}),(m(!0),w(B,null,W(r.serviceLinks,({title:c,href:i},_)=>(m(),N(t.MenuItem,{as:"li",key:`s-${_}`},{default:T(({active:v})=>[I(o,{href:i,class:$(["block p-2",v?"bg-base-100 text-primary":null])},{default:T(()=>[R(M(c),1)]),_:2},1032,["href","class"])]),_:2},1024))),128)),I(t.MenuItem,{as:"li"},{default:T(()=>[d("div",zr,[(m(!0),w(B,null,W(t.socialNetworks,(c,i)=>(m(),w("span",{key:i},[I(t.SocialNetworkLink,{network:i,class:"p-1 hover:text-primary"},null,8,["network"])]))),128))])]),_:1}),t.isLogged?(m(),N(t.MenuItem,{key:0,as:"li"},{default:T(()=>[d("button",{onClick:n[1]||(n[1]=(...c)=>t.logout&&t.logout(...c)),class:"p-2 text-right text-base-800"},qr)]),_:1})):D("",!0)])]),_:1})]),_:1})]),_:3})}const Qr=j(Br,[["render",Gr]]),Yr=A({__name:"CheckoutLink",props:{to:{default:"cart"},cartUrl:{default:globalThis.$storefront.settings.cart_url||"/app/#/cart"},checkoutUrl:{default:globalThis.$storefront.settings.checkout_url||"/app/#/checkout"}},setup(e,{expose:n}){n();const r=e,t=y(()=>r.to==="cart"?r.cartUrl:r.checkoutUrl),a={props:r,href:t};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),Xr=["href"];function Jr(e,n,r,t,a,l){return m(),w("a",{href:t.href},[V(e.$slots,"default")],8,Xr)}const Zr=j(Yr,[["render",Jr]]),ea=e=>{const n=y(()=>!e.item&&e.product?Pt(e.product):null),r=y(()=>e.item||n.value),t=y(()=>It(r.value)),a=y(()=>{const{slug:s}=r.value;return typeof s=="string"?`/${s}`:null}),l=y(()=>{if(r.value.picture)return Ht(r.value.picture,void 0,e.pictureSize||"small")}),o=y(()=>r.value.final_price||r.value.price);return{cartItem:r,title:t,link:a,image:l,finalPrice:o}},ta=A({__name:"QuantitySelectorControl",props:{isMinus:{type:Boolean}},setup(e,{expose:n}){n();const{value:r,isBoundMin:t,isBoundMax:a}=le(Te),l={value:r,isBoundMin:t,isBoundMax:a};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),na=["data-quantity-selector-control","aria-label","disabled"];function ra(e,n,r,t,a,l){return m(),w("button",{type:"button",class:"w-10 h-12 text-xl leading-12 enabled:text-primary enabled:hover:bg-primary-100/70 disabled:opacity-40","data-quantity-selector-control":r.isMinus?"minus":"plus","aria-label":r.isMinus?"Menos":"Mais",disabled:r.isMinus?t.isBoundMin:t.isBoundMax,onClick:n[0]||(n[0]=xe(o=>t.value+=r.isMinus?-1:1,["prevent"]))},[V(e.$slots,"default",{},()=>[r.isMinus?(m(),w(B,{key:0},[R("−")],64)):(m(),w(B,{key:1},[R("+")],64))])],8,na)}const aa=j(ta,[["render",ra]]),Te=Symbol("quantitySelector"),oa=A({__name:"QuantitySelector",props:{modelValue:{default:1},min:{default:1},max:{},step:{},disabled:{type:Boolean},readonly:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:n,emit:r}){n();const t=e,a=S(null),l=`NInput${$t()}`,o=y({get(){return t.modelValue},set(i){i<t.min&&(i=t.min,a.value.value=`${i}`),t.max&&i>t.max&&(i=t.max,a.value.value=`${i}`),r("update:modelValue",i)}}),s=y(()=>t.min>=o.value),u=y(()=>t.max<=o.value);ie(Te,{value:o,isBoundMin:s,isBoundMax:u});const c={quantitySelectorKey:Te,props:t,emit:r,input:a,inputId:l,value:o,isBoundMin:s,isBoundMax:u,QuantitySelectorControl:aa};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}}),la={"data-quantity-selector":""},sa={class:"flex items-center"},ia=["min","max","step","disabled","readonly"];function ua(e,n,r,t,a,l){return m(),w("div",la,[V(e.$slots,"label",ge(he({inputId:t.inputId,value:t.value})),()=>[d("label",{for:t.inputId,class:"sr-only"},M("Quantidade"))]),d("div",sa,[Bt(d("input",{ref:"input",type:"number",id:t.inputId,"onUpdate:modelValue":n[0]||(n[0]=o=>t.value=o),min:r.min,max:r.max,step:r.step,disabled:r.disabled,readonly:r.readonly,class:"h-12 w-14 px-2 text-lg border-transparent text-center [-moz-appearance:_textfield] [&::-webkit-outer-spin-button]:m-0 [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0 [&::-webkit-inner-spin-button]:appearance-none"},null,8,ia),[[Rt,t.value]]),V(e.$slots,"controls",ge(he({value:t.value,isBoundMin:t.isBoundMin,isBoundMax:t.isBoundMax})),()=>[I(t.QuantitySelectorControl,{"is-minus":"",class:"order-first"},{default:T(()=>[V(e.$slots,"minus")]),_:3}),I(t.QuantitySelectorControl,{class:"order-last"},{default:T(()=>[V(e.$slots,"plus")]),_:3})])])])}const ca=j(oa,[["render",ua]]),da=A({__name:"CartItem",props:{item:{},product:{},pictureSize:{}},setup(e,{expose:n}){n();const r=e,{cartItem:t,title:a,link:l,image:o,finalPrice:s}=ea(r),u={props:r,cartItem:t,title:a,link:l,image:o,finalPrice:s,get removeCartItem(){return Mt},QuantitySelector:ca,Prices:Ke};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}}),fa={class:"relative bg-white shadow-sm"},pa={class:"py-2 flex-auto text-sm text-base-700 group-hover:text-base-900 group-hover:underline"},ma=d("span",{class:"w-5 h-5 text-sm leading-none flex flex-col justify-center rounded-full border-3 text-danger-800 border-danger-700/30"},[d("i",{class:"i-close my-0 mx-auto"})],-1),va=[ma],ga={class:"flex justify-between items-center border-t-2 border-base-100"},ha={class:"border-r-2 border-base-100"};function ba(e,n,r,t,a,l){const o=Q("AImg");return m(),w("article",fa,[(m(),N(Qe(t.link?"ALink":"div"),{href:t.link,class:"flex items-center gap-5 p-4 group"},{default:T(()=>[t.image?(m(),N(o,{key:0,picture:t.image,alt:t.title,class:"w-20 h-20 object-cover"},null,8,["picture","alt"])):D("",!0),d("p",pa,M(t.title),1)]),_:1},8,["href"])),t.cartItem._id?(m(),w("button",{key:0,onClick:n[0]||(n[0]=xe(s=>t.removeCartItem(t.cartItem._id),["prevent"])),class:"absolute top-0 right-0 p-2 opacity-70 hover:opacity-100","aria-label":"Remover"},va)):D("",!0),d("div",ga,[d("div",ha,[I(t.QuantitySelector,{modelValue:t.cartItem.quantity,"onUpdate:modelValue":n[1]||(n[1]=s=>t.cartItem.quantity=s),min:t.cartItem.min_quantity,max:t.cartItem.max_quantity},null,8,["modelValue","min","max"])]),I(t.Prices,{"base-price":t.cartItem.base_price,price:t.finalPrice,class:"px-4 py-2.5 text-[95%]"},null,8,["base-price","price"])])])}const _a=j(da,[["render",ba]]),ya=A({__name:"CartSidebar",emits:["close"],setup(e,{expose:n,emit:r}){n();const t={emit:r,get freeShippingFromValue(){return Nt},get shoppingCart(){return Ct},get totalItems(){return We},CheckoutLink:Zr,Prices:Ke,CartItem:_a};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}}),xa={class:"flex flex-col h-screen bg-white"},wa={class:"px-6 py-4 flex justify-end items-center gap-3 shadow ring-1 ring-black/5 z-10"},Sa=d("span",{class:"text-right text-base text-base-600 font-medium"},M("Meu carrinho de compras"),-1),ka={class:"min-w-[3rem] text-right"},Pa={class:"ui-badge-pill-lg"},Ia={class:"grow overflow-y-auto bg-base-50"},Ma={key:0,class:"text-sm text-center"},Ca={key:0,class:"p-3 secondary-subtle"},Ta=d("strong",{class:"lowercase"},M("Frete grátis"),-1),Ea={key:1,class:"p-3 bg-success-50 text-success-800"},Oa=d("i",{class:"text-success-900 i-check mr-1"},null,-1),Fa={class:"px-4 pt-4 pb-2"},La={class:"px-5 pt-4 pb-3 ring-2 ring-black/5 z-10"},Aa={class:"grid grid-cols-2 gap-3 items-center text-right"},$a=d("div",null,M("Subtotal"),-1),Na=d("i",{class:"i-check mr-2"},null,-1),Da=d("i",{class:"i-arrow-left mr-1"},null,-1);function ja(e,n,r,t,a,l){return m(),w("aside",xa,[d("header",wa,[Sa,d("span",ka,[d("span",Pa,M(t.totalItems),1)])]),d("article",Ia,[t.freeShippingFromValue?(m(),w("div",Ma,[t.freeShippingFromValue>t.shoppingCart.subtotal?(m(),w("div",Ca,[R(M("Adicione $1 para ganhar".replace("$1",e.$money(t.freeShippingFromValue-t.shoppingCart.subtotal)))+" ",1),Ta])):(m(),w("div",Ea,[Oa,R(" "+M("Frete grátis a partir de")+" "+M(e.$money(t.freeShippingFromValue)),1)]))])):D("",!0),d("ul",Fa,[(m(!0),w(B,null,W(t.shoppingCart.items,(o,s)=>(m(),w("li",{key:s},[I(t.CartItem,{item:o,class:"mb-3"},null,8,["item"])]))),128))])]),d("footer",La,[d("div",Aa,[$a,I(t.Prices,{price:t.shoppingCart.subtotal,"is-literal":!0,class:"text-lg"},null,8,["price"])]),I(t.CheckoutLink,{class:"ui-btn-lg ui-btn-primary w-full text-right my-2.5"},{default:T(()=>[Na,R(" "+M("Finalizar compra"))]),_:1}),d("a",{href:"#",onClick:n[0]||(n[0]=xe(o=>t.emit("close"),["prevent"])),class:"ui-link text-base-500 hover:text-base-700 text-sm"},[Da,R(" "+M("Continuar comprando"))])])])}const Ba=j(ya,[["render",ja]]),Ra=A({__name:"ShopHeader",props:{serviceLinks:{},categories:{},menuCategorySlugs:{},menuRandomCategories:{},isAlphabeticalSortSubmenu:{type:Boolean}},setup(e,{expose:n}){n();const r=e,t=S(null),{isSticky:a,positionY:l,categoryTrees:o,inlineMenuTrees:s}=Gt({...r,header:t}),u=S(!1),c=S(!1),i=S(!1),_=S(!1),v=S(0);oe(()=>{_.value=!0,ne(We,(b,p)=>{typeof p=="number"&&p<b&&(i.value=!0),v.value=b},{immediate:!0})});const f={props:r,header:t,isSticky:a,positionY:l,categoryTrees:o,inlineMenuTrees:s,isSidenavOpen:u,isSearchOpen:c,isCartOpen:i,isMounted:_,delayedTotalItems:v,Drawer:nn,ShopSidenav:$n,ShopHeaderMenu:Ar,SearchModal:jr,AccountMenu:Qr,CartSidebar:Ba};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),Va={class:"container 2xl:max-w-7xl mx-auto px-1 lg:pr-3 lg:pl-5 xl:pr-7 xl:pl-9 2xl:pr-0 2xl:pl-2 flex md:grid grid-flow-col grid-cols-3 lg:grid-cols-none lg:auto-cols-max justify-between items-center"},Ha={class:"basis-1/4 lg:hidden"},Ua={class:"basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"},za=d("i",{class:"i-magnifying-glass w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"},null,-1),Ka=[za],Wa=d("i",{class:"i-shopping-bag w-7 h-7 group-hover:text-primary group-hover:scale-110 group-active:scale-125"},null,-1),qa={key:0,class:"ui-badge-pill-sm absolute -top-1 -right-1.5"};function Ga(e,n,r,t,a,l){return m(),w("header",{ref:"header",class:$(["relative 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"]])},[d("div",Va,[d("div",Ha,[d("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=o=>t.isSidenavOpen=!t.isSidenavOpen)},[d("i",{class:$(["text-base-500 text-3xl",t.isSidenavOpen?"i-close":"i-bars-3-bottom-left"])},null,2)])]),V(e.$slots,"logo"),I(t.ShopHeaderMenu,Ne({class:"hidden lg:block"},{inlineMenuTrees:t.inlineMenuTrees}),null,16),d("div",Ua,[d("button",{"aria-label":"Buscar produtos",onClick:n[1]||(n[1]=o=>t.isSearchOpen=!t.isSearchOpen)},Ka),I(t.AccountMenu,{"service-links":r.serviceLinks,class:"hidden sm:block"},{button:T(({open:o})=>[d("i",{class:$(["i-user-circle w-7 h-7 hover:text-primary hover:scale-110 active:scale-125",o?"text-black scale-110":null])},null,2)]),_:1},8,["service-links"]),d("button",{"aria-label":"Abrir carrinho",onClick:n[2]||(n[2]=o=>t.isCartOpen=!t.isCartOpen),class:"relative group"},[Wa,t.delayedTotalItems?(m(),w("span",qa,M(t.delayedTotalItems),1)):D("",!0)])])]),I(t.Drawer,{modelValue:t.isSidenavOpen,"onUpdate:modelValue":n[3]||(n[3]=o=>t.isSidenavOpen=o),"has-close-button":!1,position:"absolute",class:$(t.isSticky?"mt-2 md:mt-3":"mt-3 sm:mt-4 md:mt-5"),style:qe({height:`calc(100vh - ${t.positionY}px + .5rem)`})},{default:T(()=>[I(t.ShopSidenav,Ne({class:"bg-white pt-6"},{categoryTrees:t.categoryTrees}),null,16)]),_:1},8,["modelValue","class","style"]),I(t.Drawer,{modelValue:t.isSearchOpen,"onUpdate:modelValue":n[4]||(n[4]=o=>t.isSearchOpen=o),"has-close-button":!1,placement:"top"},{default:T(()=>[I(t.SearchModal)]),_:1},8,["modelValue"]),t.isMounted?(m(),N(Ge,{key:0,to:"#teleported-overlap"},[I(t.Drawer,{modelValue:t.isCartOpen,"onUpdate:modelValue":n[6]||(n[6]=o=>t.isCartOpen=o),placement:"end","backdrop-target":"#teleported-overlap"},{default:T(()=>[I(t.CartSidebar,{onClose:n[5]||(n[5]=o=>t.isCartOpen=!1)})]),_:1},8,["modelValue"])])):D("",!0)],2)}const to=j(Ra,[["render",Ga]]);export{to as default};