cloudcommerce 0.22.3 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/CHANGELOG.md +26 -0
  3. package/ecomplus-stores/barra-doce/.eslintrc.cjs +1 -1
  4. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  5. package/ecomplus-stores/barra-doce/functions/ssr/.eslintrc.cjs +1 -1
  6. package/ecomplus-stores/barra-doce/functions/ssr/content/settings.json +1 -0
  7. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  8. package/ecomplus-stores/barra-doce/functions/ssr/src/assets/style.css +1 -1
  9. package/ecomplus-stores/barra-doce/functions/ssr/src/components/AccountMenu.vue +2 -2
  10. package/ecomplus-stores/barra-doce/functions/ssr/src/components/Banner.vue +1 -0
  11. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductCard.vue +3 -5
  12. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +4 -8
  13. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderMenu.vue +1 -1
  14. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopSidenav.vue +1 -1
  15. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  16. package/ecomplus-stores/barra-doce/package.json +5 -1
  17. package/ecomplus-stores/iluminim/.ecomplus.cd.json +3 -3
  18. package/ecomplus-stores/iluminim/.eslintrc.cjs +1 -1
  19. package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
  20. package/ecomplus-stores/iluminim/functions/ssr/.eslintrc.cjs +1 -1
  21. package/ecomplus-stores/iluminim/functions/ssr/package.json +6 -6
  22. package/ecomplus-stores/iluminim/functions/ssr/src/components/AccountMenu.vue +2 -2
  23. package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductCard.vue +5 -5
  24. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +1 -5
  25. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +1 -1
  26. package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
  27. package/ecomplus-stores/iluminim/package.json +5 -1
  28. package/package.json +7 -11
  29. package/packages/api/package.json +1 -1
  30. package/packages/apps/affilate-program/package.json +1 -1
  31. package/packages/apps/correios/package.json +2 -2
  32. package/packages/apps/custom-payment/package.json +1 -1
  33. package/packages/apps/custom-shipping/package.json +1 -1
  34. package/packages/apps/datafrete/package.json +1 -1
  35. package/packages/apps/discounts/package.json +1 -1
  36. package/packages/apps/emails/package.json +1 -1
  37. package/packages/apps/fb-conversions/package.json +1 -1
  38. package/packages/apps/flash-courier/package.json +1 -1
  39. package/packages/apps/frenet/package.json +1 -1
  40. package/packages/apps/galaxpay/package.json +1 -1
  41. package/packages/apps/google-analytics/package.json +1 -1
  42. package/packages/apps/jadlog/package.json +1 -1
  43. package/packages/apps/loyalty-points/package.json +1 -1
  44. package/packages/apps/melhor-envio/package.json +1 -1
  45. package/packages/apps/mercadopago/package.json +1 -1
  46. package/packages/apps/pagarme/package.json +1 -1
  47. package/packages/apps/paghiper/package.json +1 -1
  48. package/packages/apps/pix/package.json +1 -1
  49. package/packages/apps/tiny-erp/package.json +2 -2
  50. package/packages/apps/webhooks/package.json +1 -1
  51. package/packages/cli/lib/build.js +1 -1
  52. package/packages/cli/package.json +1 -1
  53. package/packages/cli/src/build.ts +1 -1
  54. package/packages/config/package.json +1 -1
  55. package/packages/emails/package.json +2 -2
  56. package/packages/eslint/CHANGELOG.md +1 -0
  57. package/packages/eslint/README.md +1 -0
  58. package/packages/eslint/package.json +29 -0
  59. package/packages/eslint/storefront.eslintrc.cjs +28 -0
  60. package/packages/events/package.json +1 -1
  61. package/packages/feeds/package.json +1 -1
  62. package/packages/firebase/package.json +2 -2
  63. package/packages/i18n/package.json +1 -1
  64. package/packages/modules/package.json +1 -1
  65. package/packages/passport/package.json +1 -1
  66. package/packages/ssr/lib/firebase/serve-storefront.js +2 -2
  67. package/packages/ssr/package.json +4 -5
  68. package/packages/ssr/src/firebase/serve-storefront.ts +2 -2
  69. package/packages/storefront/.eslintrc.cjs +1 -26
  70. package/packages/storefront/config/storefront.cms.js +1 -1
  71. package/packages/storefront/dist/client/_astro/Carousel.6824b5e2.js +1 -0
  72. package/packages/storefront/dist/client/_astro/{HeroSlider.cea1f361.js → HeroSlider.794b113c.js} +1 -1
  73. package/packages/storefront/dist/client/_astro/{PitchBar.ed85833a.js → PitchBar.a0503ba1.js} +1 -1
  74. package/packages/storefront/dist/client/_astro/ProductShelf.7fca4465.js +1 -0
  75. package/packages/storefront/dist/client/_astro/ShopHeader.fe08e043.js +4 -0
  76. package/packages/storefront/dist/client/_astro/{_...slug_.c13e0486.css → _...slug_.caa8cb90.css} +1 -1
  77. package/packages/storefront/dist/client/_astro/{firebase-app.84207480.js → firebase-app.1df8af9a.js} +5 -5
  78. package/packages/storefront/dist/client/_astro/index.c723d38d.js +1 -0
  79. package/packages/storefront/dist/client/sw.js +1 -1
  80. package/packages/storefront/dist/server/chunks/{_...75363048.mjs → _...e1758019.mjs} +3 -3
  81. package/packages/storefront/dist/server/chunks/{account@_@astro.12fbe243.mjs → account@_@astro.f568e384.mjs} +3 -3
  82. package/packages/storefront/dist/server/chunks/{astro.e0968ba7.mjs → astro.b875de26.mjs} +1119 -1226
  83. package/packages/storefront/dist/server/chunks/{endpoint@_@js.67b66d0a.mjs → endpoint@_@js.32b9ab50.mjs} +3 -3
  84. package/packages/storefront/dist/server/chunks/{fallback@_@astro.0a6656b6.mjs → fallback@_@astro.4d902266.mjs} +3 -3
  85. package/packages/storefront/dist/server/chunks/{index@_@astro.a4c9c84e.mjs → index@_@astro.2072e1c3.mjs} +3 -3
  86. package/packages/storefront/dist/server/chunks/{index@_@astro.df499bf2.mjs → index@_@astro.a80337aa.mjs} +3 -3
  87. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.a71c9334.mjs → _...slug_.astro.7c69d6fe.mjs} +50 -43
  88. package/packages/storefront/dist/server/chunks/pages/{account.astro.0003ca94.mjs → account.astro.4b8c2471.mjs} +1 -1
  89. package/packages/storefront/dist/server/chunks/pages/{endpoint.js.085dadb5.mjs → endpoint.js.64061d33.mjs} +1 -1
  90. package/packages/storefront/dist/server/chunks/pages/{fallback.astro.055cb7df.mjs → fallback.astro.f225bb85.mjs} +2 -2
  91. package/packages/storefront/dist/server/chunks/pages/{index.astro.abc34f72.mjs → index.astro.a972914a.mjs} +5 -8
  92. package/packages/storefront/dist/server/entry.mjs +9 -9
  93. package/packages/storefront/dist/server/renderers.mjs +2 -2
  94. package/packages/storefront/package.json +8 -7
  95. package/packages/storefront/src/helpers/sf-utils.ts +12 -0
  96. package/packages/storefront/src/lib/components/Carousel.vue +17 -5
  97. package/packages/storefront/src/lib/components/CarouselControl.vue +1 -1
  98. package/packages/storefront/src/lib/components/SocialNetworkIcon.vue +1 -1
  99. package/packages/storefront/src/lib/components/SocialNetworkLink.vue +1 -3
  100. package/packages/storefront/src/lib/composables/use-cart-item.ts +46 -0
  101. package/packages/storefront/src/lib/layouts/use-page-header.ts +0 -1
  102. package/packages/storefront/src/lib/sf-lib.ts +7 -0
  103. package/packages/storefront/src/lib/state/customer-session.ts +1 -1
  104. package/packages/storefront/src/lib/state/modules-info.ts +1 -1
  105. package/packages/types/package.json +1 -1
  106. package/packages/storefront/dist/client/_astro/Carousel.62c97a79.js +0 -1
  107. package/packages/storefront/dist/client/_astro/ProductShelf.35614736.js +0 -1
  108. package/packages/storefront/dist/client/_astro/ShopHeader.1c27e68e.js +0 -4
  109. package/packages/storefront/dist/client/_astro/index.b93f3d06.js +0 -1
  110. package/packages/storefront/src/helpers/idle-callback.ts +0 -9
  111. package/packages/storefront/src/lib/components/_injection-keys.ts +0 -11
  112. /package/packages/{storefront/.base.eslintrc.cjs → eslint/base.eslintrc.cjs} +0 -0
  113. /package/packages/storefront/src/{lib → helpers}/browser-env.ts +0 -0
  114. /package/packages/storefront/src/{lib → helpers}/server-data.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pagarme",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pagar.me",
6
6
  "main": "lib/pagarme.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-paghiper",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate PagHiper",
6
6
  "main": "lib/paghiper.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-pix",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Pix API (Bacen)",
6
6
  "main": "lib/pix.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-tiny-erp",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app for Tiny ERP",
6
6
  "main": "lib/tiny-erp.js",
7
7
  "repository": {
@@ -25,7 +25,7 @@
25
25
  "axios": "^1.4.0",
26
26
  "firebase-admin": "^11.10.1",
27
27
  "firebase-functions": "^4.4.1",
28
- "form-data": "^4.0.0"
28
+ "form-data": "4.0.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@cloudcommerce/types": "workspace:*",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-webhooks",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app for general order webhooks",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -20,7 +20,7 @@ const copyFunctionsConfig = async (isDev = false) => {
20
20
  const codebaseDir = joinPath(functionsDir, codebase);
21
21
  const isSSR = codebase === 'ssr';
22
22
  await fs.ensureDir(joinPath(codebaseDir, 'content'));
23
- if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'node_modules'))) {
23
+ if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'ssr', 'node_modules'))) {
24
24
  await $`npm --prefix "functions/ssr" i`;
25
25
  }
26
26
  for (let ii = 0; ii < filesToCopy.length; ii++) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/cli",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce CLI tools",
6
6
  "bin": {
7
7
  "cloudcommerce": "./bin/run.mjs"
@@ -22,7 +22,7 @@ const copyFunctionsConfig = async (isDev = false) => {
22
22
  const codebaseDir = joinPath(functionsDir, codebase);
23
23
  const isSSR = codebase === 'ssr';
24
24
  await fs.ensureDir(joinPath(codebaseDir, 'content'));
25
- if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'node_modules'))) {
25
+ if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'ssr', 'node_modules'))) {
26
26
  await $`npm --prefix "functions/ssr" i`;
27
27
  }
28
28
  for (let ii = 0; ii < filesToCopy.length; ii++) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/config",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce base config",
6
6
  "main": "lib/config.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/emails",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce email sender",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -30,6 +30,6 @@
30
30
  "devDependencies": {
31
31
  "@cloudcommerce/types": "workspace:*",
32
32
  "@types/ejs": "^3.1.2",
33
- "@types/nodemailer": "^6.4.8"
33
+ "@types/nodemailer": "^6.4.9"
34
34
  }
35
35
  }
@@ -0,0 +1 @@
1
+ Please refer to GitHub [repository releases](https://github.com/ecomplus/cloud-commerce/releases) or monorepo unified [CHANGELOG.md](https://github.com/ecomplus/cloud-commerce/blob/main/CHANGELOG.md).
@@ -0,0 +1 @@
1
+ # `@cloudcommerce/eslint`
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@cloudcommerce/eslint",
3
+ "type": "module",
4
+ "version": "0.23.0",
5
+ "description": "E-Com Plus Cloud Commerce ESLint config",
6
+ "main": "lib/index.js",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/ecomplus/cloud-commerce.git",
10
+ "directory": "packages/eslint"
11
+ },
12
+ "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
13
+ "license": "Apache 2.0 with Commons Clause",
14
+ "bugs": {
15
+ "url": "https://github.com/ecomplus/cloud-commerce/issues"
16
+ },
17
+ "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/eslint#readme",
18
+ "scripts": {
19
+ "build": "echo '@ecomplus/eslint'"
20
+ },
21
+ "dependencies": {
22
+ "@typescript-eslint/eslint-plugin": "^6.2.0",
23
+ "@typescript-eslint/parser": "^6.2.0",
24
+ "eslint": "^8.46.0",
25
+ "eslint-config-airbnb-base": "^15.0.0",
26
+ "eslint-plugin-import": "^2.28.0",
27
+ "eslint-plugin-vue": "^9.16.1"
28
+ }
29
+ }
@@ -0,0 +1,28 @@
1
+ module.exports = {
2
+ extends: './base.eslintrc.cjs',
3
+ rules: {
4
+ 'no-console': 'off',
5
+ 'semi': 'warn',
6
+ 'arrow-parens': 'warn',
7
+ 'object-curly-newline': 'warn',
8
+ 'comma-dangle': 'warn',
9
+ 'consistent-return': 'warn',
10
+ 'array-bracket-spacing': 'warn',
11
+ 'quote-props': 'off',
12
+ 'quotes': 'off',
13
+ 'global-require': 'off',
14
+ 'import/no-dynamic-require': 'off',
15
+ 'import/prefer-default-export': 'warn',
16
+ 'import/extensions': 'off',
17
+ 'vue/multi-word-component-names': ['error', {
18
+ ignores: [
19
+ 'Fade',
20
+ 'Carousel',
21
+ 'Drawer',
22
+ 'Prices',
23
+ 'Banner',
24
+ 'Countdown',
25
+ ],
26
+ }],
27
+ },
28
+ };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/events",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce app events",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/feeds",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce catalog feeds",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/firebase",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce on Firebase",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
@@ -31,7 +31,7 @@
31
31
  "dependencies": {
32
32
  "@cloudcommerce/api": "workspace:*",
33
33
  "@cloudcommerce/config": "workspace:*",
34
- "@google-cloud/pubsub": "^3.7.1",
34
+ "@google-cloud/pubsub": "^3.7.3",
35
35
  "firebase-admin": "^11.10.1",
36
36
  "firebase-functions": "^4.4.1",
37
37
  "source-map-support": "^0.5.21"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/i18n",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce i18n",
6
6
  "main": "lib/all.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/modules",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce modules API",
6
6
  "main": "lib/index.cjs",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/passport",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce customers authentication (passport) API",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -7,7 +7,7 @@ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
7
7
  let imagesManifest;
8
8
  const builtImages = [];
9
9
  let cssFilename;
10
- const readinsStylesManifest = new Promise((resolve) => {
10
+ const readingStylesManifest = new Promise((resolve) => {
11
11
  readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
12
12
  .then((stylesManifest) => {
13
13
  const cssFiles = [];
@@ -168,7 +168,7 @@ export default async (req, res) => {
168
168
  return;
169
169
  }
170
170
  (async () => {
171
- await readinsStylesManifest;
171
+ await readingStylesManifest;
172
172
  if (cssFilename && !res.headersSent) {
173
173
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
174
174
  res.writeEarlyHints({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/ssr",
3
3
  "type": "module",
4
- "version": "0.22.3",
4
+ "version": "0.23.0",
5
5
  "description": "E-Com Plus Cloud Commerce storefront SSR",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -28,12 +28,11 @@
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
29
  "@cloudcommerce/i18n": "workspace:*",
30
30
  "@ecomplus/utils": "1.5.0-rc.5",
31
- "@headlessui/vue": "^1.7.14",
32
- "@vueuse/core": "10.2.1",
33
- "astro": "2.9.2",
31
+ "@headlessui/vue": "^1.7.15",
32
+ "@vueuse/core": "10.3.0",
33
+ "astro": "2.9.6",
34
34
  "firebase-admin": "^11.10.1",
35
35
  "firebase-functions": "^4.4.1",
36
- "semver": "^7.5.4",
37
36
  "vue": "^3.3.4"
38
37
  },
39
38
  "devDependencies": {
@@ -24,7 +24,7 @@ type BuiltImage = { filename: string, width: number, height: number };
24
24
  const builtImages: BuiltImage[] = [];
25
25
 
26
26
  let cssFilename: string | undefined;
27
- const readinsStylesManifest = new Promise((resolve) => {
27
+ const readingStylesManifest = new Promise((resolve) => {
28
28
  readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
29
29
  .then((stylesManifest) => {
30
30
  const cssFiles: string[] = [];
@@ -192,7 +192,7 @@ export default async (req: Request, res: Response) => {
192
192
  }
193
193
 
194
194
  (async () => {
195
- await readinsStylesManifest;
195
+ await readingStylesManifest;
196
196
  if (cssFilename && !res.headersSent) {
197
197
  // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
198
198
  res.writeEarlyHints({
@@ -1,28 +1,3 @@
1
1
  module.exports = {
2
- extends: './.base.eslintrc.cjs',
3
- rules: {
4
- 'no-console': 'off',
5
- 'semi': 'warn',
6
- 'arrow-parens': 'warn',
7
- 'object-curly-newline': 'warn',
8
- 'comma-dangle': 'warn',
9
- 'consistent-return': 'warn',
10
- 'array-bracket-spacing': 'warn',
11
- 'quote-props': 'off',
12
- 'quotes': 'off',
13
- 'global-require': 'off',
14
- 'import/no-dynamic-require': 'off',
15
- 'import/prefer-default-export': 'warn',
16
- 'import/extensions': 'off',
17
- 'vue/multi-word-component-names': ['error', {
18
- ignores: [
19
- 'Fade',
20
- 'Carousel',
21
- 'Drawer',
22
- 'Prices',
23
- 'Banner',
24
- 'Countdown',
25
- ],
26
- }],
27
- },
2
+ extends: './node_modules/@cloudcommerce/eslint/storefront.eslintrc.cjs',
28
3
  };
@@ -55,7 +55,7 @@ global.__storefrontCMS = (fs, resolvePath) => {
55
55
 
56
56
  let settings;
57
57
  try {
58
- settings = getContent('settings');
58
+ settings = getContent('settings') || {};
59
59
  } catch (e) {
60
60
  settings = {};
61
61
  }
@@ -0,0 +1 @@
1
+ import{a as q,h as G,c as J}from"./index.c723d38d.js";import{_ as K,d as Q,B as X,o as B,a as U,u as v,b as Y,n as $,j as c,k as h,t as D,c as F,l as Z,E as ee,Q as te,C as ae,g as oe,w as P,h as le,e as M,H as se,I as re}from"./_plugin-vue_export-helper.4cb7dd76.js";const ne=Q({__name:"CarouselControl",props:{isPrev:{type:Boolean,default:!1}},setup(r,{expose:u}){u();const{changeSlide:l}=X(L),t={changeSlide:l};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}}),ue=["aria-label","data-carousel-control"];function ie(r,u,l,t,n,o){return B(),U("button",{type:"button","aria-label":l.isPrev?"Anterior":"Próximo",onClick:u[0]||(u[0]=m=>t.changeSlide(l.isPrev?-1:1)),class:$(["group absolute top-0 z-1",l.isPrev?"left-0":"right-0"]),"data-carousel-control":l.isPrev?"previous":"next"},[v(r.$slots,"default",{},()=>[Y("i",{class:$(["m-0",l.isPrev?"i-chevron-left group-active:-translate-x-1":"i-chevron-right group-active:translate-x-1"])},null,2)])],10,ue)}const ce=K(ne,[["render",ie]]),L=Symbol("carousel"),de=Q({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:{}},emits:["update:modelValue"],setup(r,{expose:u,emit:l}){u();const t=r,n=c(0);h(D(t,"modelValue"),e=>{n.value=e-1},{immediate:!0}),h(n,(e,a)=>{e!==a&&l("update:modelValue",e+1)});const o=c(null),{x:m,isScrolling:T,arrivedState:_}=q(o),W=F(()=>_.left),I=F(()=>_.right),s=c([]),g=c(0),p=c(0),k=c(0),V=()=>{o.value&&(g.value=o.value.scrollWidth,p.value=o.value.offsetWidth)},z=()=>{if(!o.value)return;let e=[...o.value.children];e.length===1&&e[0].tagName.endsWith("SLOT")&&(e=[...e[0].children]),s.value=e.map(a=>({offsetLeft:a.offsetLeft,width:a.offsetWidth}))},E=e=>{let a=n.value+e;if(a>=s.value.length)return 0;a<0&&(a=s.value.length+a);const{offsetLeft:b,width:d}=s.value[a]||{};return d?b:0},x=()=>{const e=s.value.findIndex(a=>Math.abs(a.offsetLeft-m.value)<=5);e>-1&&(n.value=e||0)},O=()=>{const e=g.value-p.value;k.value=s.value.findIndex(({offsetLeft:a})=>a>=e-5)};let i;const f=()=>{t.autoplay&&(clearTimeout(i),i=setTimeout(()=>{C(1)},t.autoplay))},C=(e,a=!0)=>{if(s.value.length<2)return;if(a&&(e===1||e===-1)){let d=0,A=0;for(let S=n.value;S<s.value.length;S++){const{width:H}=s.value[S]||{};if(H&&(d+=1,A+=H,A>=p.value))break}d&&(e=e>0?d:-d)}t.autoplay||console.log({direction:e},n.value,s.value.length);const b=E(e);o.value?.scrollTo({left:b,behavior:"smooth"}),f()};h(T,e=>{e?clearTimeout(i):(x(),f())});const R=c(null),N=G(R);h(N,e=>{e?clearTimeout(i):f()});const w=()=>{o.value&&(V(),z(),x(),O())},y=J(()=>{o.value&&(o.value.scrollLeft=0,w())},400);Z(()=>{w(),ee(()=>{o.value&&[...o.value.children].forEach(e=>{e.setAttribute("tabindex","0")})}),f(),window.addEventListener("resize",y)}),te(()=>{window.removeEventListener("resize",y),clearTimeout(i)}),ae(L,{autoplay:D(t,"autoplay"),changeSlide:C,isBoundLeft:W,isBoundRight:I});const j={carouselKey:L,props:t,emit:l,currentIndex:n,wrapper:o,currentPos:m,isScrolling:T,arrivedState:_,isBoundLeft:W,isBoundRight:I,slidesWidth:s,wrapperScrollWidth:g,wrapperVisibleWidth:p,indexCount:k,calcWrapperWidth:V,calcSlidesWidth:z,calcNextOffsetLeft:E,calcCurrentIndex:x,calcIndexCount:O,get autoplayTimer(){return i},set autoplayTimer(e){i=e},restartAutoplay:f,changeSlide:C,carousel:R,isHovered:N,calcOnInit:w,onResize:y,CarouselControl:ce};return Object.defineProperty(j,"__isScriptSetup",{enumerable:!1,value:!0}),j}}),fe={ref:"carousel",class:"relative","data-carousel":""};function ve(r,u,l,t,n,o){return B(),U("div",fe,[(B(),oe(le(l.as),{ref:"wrapper",class:"flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0 snap-x snap-mandatory scroll-smooth [&>*]:snap-start [&>*]:outline-none",style:{"scrollbar-width":"none","-webkit-overflow-scrolling":"touch","-ms-overflow-style":"none"},"data-carousel-wrapper":""},{default:P(()=>[v(r.$slots,"default")]),_:3},512)),v(r.$slots,"controls",se(re({changeSlide:t.changeSlide,isBoundLeft:t.isBoundLeft,isBoundRight:t.isBoundRight,currentPage:t.currentIndex+1,pageCount:t.indexCount+1})),()=>[M(t.CarouselControl,{"is-prev":""},{default:P(()=>[v(r.$slots,"previous")]),_:3}),M(t.CarouselControl,null,{default:P(()=>[v(r.$slots,"next")]),_:3})])],512)}const me=K(de,[["render",ve]]);export{me as C,ce as a};
@@ -1 +1 @@
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,K as H}from"./_plugin-vue_export-helper.4cb7dd76.js";import{C as j,a as L}from"./Carousel.62c97a79.js";import{p as g}from"./index.b93f3d06.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:j,CarouselControl:L,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]"},K={class:"relative w-20 h-10 rounded-full bg-white/50 text-primary shadow-sm ring-1 ring-black/5"},q=m("i",{class:"i-arrow-left"},null,-1),A=m("i",{class:"i-arrow-right"},null,-1);function G(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",K,[d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10","is-prev":""},{default:l(()=>[q]),_:1}),d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10"},{default:l(()=>[A]),_: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",G]]);export{U as default};
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,K as H}from"./_plugin-vue_export-helper.4cb7dd76.js";import{C as j,a as L}from"./Carousel.6824b5e2.js";import{p as g}from"./index.c723d38d.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:j,CarouselControl:L,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]"},K={class:"relative w-20 h-10 rounded-full bg-white/50 text-primary shadow-sm ring-1 ring-black/5"},q=m("i",{class:"i-arrow-left"},null,-1),A=m("i",{class:"i-arrow-right"},null,-1);function G(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",K,[d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10","is-prev":""},{default:l(()=>[q]),_:1}),d(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10"},{default:l(()=>[A]),_: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",G]]);export{U as default};
@@ -1 +1 @@
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.4cb7dd76.js";import{p as k}from"./index.b93f3d06.js";import{C as B,a as P}from"./Carousel.62c97a79.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
+ 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.4cb7dd76.js";import{p as k}from"./index.c723d38d.js";import{C as B,a as P}from"./Carousel.6824b5e2.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};
@@ -0,0 +1 @@
1
+ import{L as R,j as O,M as q,N as A,c as d,O as F,_ as N,d as E,m as M,o as i,a as c,x as h,i as f,b as g,y as S,n as B,e as x,w as L,g as j,F as Q,h as T,q as G,f as J,v as K,r as U}from"./_plugin-vue_export-helper.4cb7dd76.js";import{a as D,b as X}from"./api.4984c5be.js";import{C as Y,a as Z}from"./Carousel.6824b5e2.js";import{d as $,e as ee,g as te,l as ne,h as ae,w as re}from"./index.c723d38d.js";import{i as se,g as oe}from"./img.abbe849f.js";import"./session-utm.744b0db3.js";const ie=(t,n=R.get("lang"))=>n&&t.i18n&&t.i18n[n]?t.i18n[n]:t.name||t.title||se(t.i18n,n)||"",le=ie,ce=t=>t&&t.min_quantity||1,ue=ce,de=t=>!t.hasOwnProperty("quantity")||t.quantity>=ue(t),W=de,me=t=>{const n=O(t.title||""),s=O(t.titleLink||""),e=O(!1);let m=null;const r=O(null),u=q(t.products||[]);return t.products||(e.value=!0,m=(async()=>{let _=t.searchQuery||"",b;if(t.collectionId){try{const{data:a}=await D.get(`collections/${t.collectionId}`);b=a}catch(a){console.error(a),r.value=a}const l=b?.products;Array.isArray(l)&&l.length&&(_+=`&_id=${l.slice(0,60).join(",")}`),!n.value&&n.value!==null&&b?.name&&(n.value=b?.name)}const v=t.limit||24;let y=`offset=${t.page?(t.page-1)*v:0}&limit=${v}`;t.sort&&(y+=`&sort=${t.sort}`),y+=_;try{const{data:l}=await D.get(`search/v1?${y}`);if(t.isShuffle){let a=l.result.filter(P=>P.available&&W(P)).length,k,C;for(;a;)C=Math.floor(Math.random()*a--),k=l.result[a],l.result[a]=l.result[C],l.result[C]=k}l.result.forEach(a=>u.push(a))}catch(l){console.error(l),r.value=l}e.value=!1})()),{title:n,titleLink:s,isFetching:e,fetching:m,fetchError:r,products:u}},he=t=>{const n=O(!1);let s=null;const e=O(null),{productId:m}=t,r=q({...t.product,_id:t.product?._id||m,price:A(t.product||{})});!t.product&&m&&(n.value=!0,s=(async()=>{try{const{data:a}=await D.get(`products/${m}`);Object.assign(r,a)}catch(a){console.error(a),e.value=a}n.value=!1})());const u=d(()=>le(r)),_=d(()=>{const{slug:a}=r;return typeof a=="string"?`/${a}`:null}),b=d(()=>{const{pictures:a}=r,k=[];return a&&a.forEach(C=>{const P=oe(C);P&&k.push(P)}),k}),v=d(()=>W(r)),w=d(()=>v.value&&r.available&&r.visible),y=d(()=>{if(F(r)){const a=r.base_price;return Math.round((a-A(r))*100/a)}return 0}),l=d(()=>r.has_variations?!0:!!r.variations?.length);return{isFetching:n,fetching:s,fetchError:e,product:r,title:u,link:_,images:b,isInStock:v,isActive:w,discountPercentage:y,hasVariations:l}},z=(t,n)=>{const{type:s,value:e}=n;let m;return e?(s==="percentage"?m=t*((100-e)/100):m=t-e,m>0?m:0):t},_e=t=>{const n=d(()=>t.product||{price:t.price||0,base_price:t.basePrice}),s=d(()=>{const{variations:o}=n.value;if(o){const p=A(n.value);for(let I=0;I<o.length;I++)if(A({...n.value,...o[I]})>p)return!0}return!1}),e=d(()=>{const o=A(n.value),p=$.value;return p&&(!p.min_amount||o>p.min_amount)?z(o,p):o}),m=d(()=>{if(F(n.value))return n.value.base_price;const o=A(n.value);return o>e.value?o:0}),r=d(()=>t.installmentsOption||ee.value||{max_number:1}),u=d(()=>{if(r.value.max_number<=1)return 1;const o=r.value.min_installment||5,p=Math.floor(e.value/o);return Math.min(p,r.value.max_number)}),_=d(()=>r.value.monthly_interest||0),b=d(()=>{if(u.value>=2){if(!_.value)return e.value/u.value;const o=_.value/100;return e.value*o/(1-(1+o)**-u.value)}return 0}),v=d(()=>{const o=t.discountOption||te.value;return o&&(!o.min_amount||o.min_amount<=e.value)&&(!t.isAmountTotal||o.apply_at==="total")?o:{}}),w=d(()=>{const{label:o}=v.value;return o?o.includes(" ")?o:`via ${o}`:""}),y=d(()=>z(e.value,v.value)),l=d(()=>{if(t.loyaltyPointsProgram)return t.loyaltyPointsProgram;const o=ne.value;if(o){const p=Object.keys(o);for(let I=0;I<p.length;I++){const V=o[p[I]];if(V?.earn_percentage&&V.earn_percentage>0)return V}}return{ratio:0}}),a=d(()=>l.value.min_subtotal_to_earn||0),k=d(()=>l.value.name||""),C=d(()=>l.value.earn_percentage||0),P=d(()=>C.value*l.value.ratio),H=d(()=>P.value>=1?e.value*(P.value/100):0);return{hasVariedPrices:s,salePrice:e,comparePrice:m,installmentsObject:r,installmentsNumber:u,monthlyInterest:_,installmentValue:b,discountObject:v,discountLabel:w,priceWithDiscount:y,pointsProgramObject:l,pointsMinPrice:a,pointsProgramName:k,earnPointsPercentage:C,cashbackPercentage:P,cashbackValue:H}},fe=E({__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:n}){n();const s=t,{hasVariedPrices:e,salePrice:m,comparePrice:r,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:y,discountLabel:l}=_e(s),a={props:s,hasVariedPrices:e,salePrice:m,comparePrice:r,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:y,discountLabel:l};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),ge={key:0,class:"text-base-500 mr-1 [font-size:87%]"},ve={key:0},be={key:1},ye={key:0},pe={key:0,class:"relative z-10"},ke=["data-tooltip"],Pe=g("i",{class:"i-arrow-uturn-left mr-1"},null,-1),xe={class:"font-medium"},we=g("small",null," cashback",-1),Ce={key:0},Oe={key:0},Le={key:1},Ie={key:2},Se={key:0},Ae={key:0},Ve={key:1};function je(t,n,s,e,m,r){const u=M("Fade");return i(),c("div",{class:B(["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]",s.isBig?"text-lg":null]),"data-prices":""},[e.comparePrice?(i(),c("span",ge,[s.isLiteral?(i(),c("small",ve,h("De "))):f("",!0),g("s",null,h(t.$money(e.comparePrice)),1),s.isLiteral?(i(),c("small",be,h(" Por"))):f("",!0)])):f("",!0),g("strong",{class:B(["inline-block text-base-800",s.isBig?"text-5xl block":null])},[e.hasVariedPrices?(i(),c("small",ye,h("A partir de "))):f("",!0),S(" "+h(t.$money(e.salePrice)),1)],2),x(u,{slide:"down"},{default:L(()=>[e.cashbackValue&&s.hasCashback?(i(),c("div",pe,[g("span",{"data-tooltip":"Receba $1 de volta".replace("$1",t.$percentage(e.cashbackPercentage))},[Pe,g("span",xe,h(t.$money(e.cashbackValue)),1),we],8,ke)])):f("",!0)]),_:1}),x(u,{slide:"down"},{default:L(()=>[e.installmentValue&&s.hasPriceOptions?(i(),c("div",Ce,[s.isLiteral?(i(),c("small",Oe,h("Até "))):f("",!0),S(" "+h(e.installmentsNumber)+"x ",1),s.isLiteral?(i(),c("small",Le,h(" De "))):f("",!0),g("span",null,h(t.$money(e.installmentValue)),1),!e.monthlyInterest&&s.isLiteral?(i(),c("small",Ie,h("Sem juros"))):f("",!0)])):f("",!0)]),_:1}),x(u,{slide:"down"},{default:L(()=>[e.priceWithDiscount<e.salePrice&&s.hasPriceOptions?(i(),c("div",Se,[e.discountLabel?f("",!0):(i(),c("small",Ae,h("A partir de "))),g("span",null,h(t.$money(e.priceWithDiscount)),1),e.discountLabel?(i(),c("small",Ve,h(` ${e.discountLabel}`),1)):f("",!0)])):f("",!0)]),_:1})],2)}const Be=N(fe,[["render",je]]),De=E({__name:"ProductCard",props:{product:{},productId:{},headingTag:{default:"h3"}},setup(t,{expose:n}){n();const s=t,{product:e,title:m,link:r,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w}=he(s),y=O(null),l=ae(y),a=O(!1);re(l,()=>{a.value=!0});const k={props:s,product:e,title:m,link:r,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w,card:y,isHovered:l,wasHoveredOnce:a,get addProductToCart(){return X},Prices:Be};return Object.defineProperty(k,"__isScriptSetup",{enumerable:!1,value:!0}),k}}),Ne=["data-sku"],Ee={class:"aspect-square p-2 motion-safe:group-hover:scale-110 transition-transform"},Me={class:"relative w-full h-full bg-white rounded overflow-hidden group-hover:rounded-none"},Te={key:1,class:"w-full h-full bg-gradient-to-br from-base-50/20 to-base-100"},ze={key:0,class:"uno-bm03rg"},qe={class:"relative flex flex-col grow justify-between p-4 group-hover:backdrop-blur-md bg-white/40 z-10"},Fe={class:"pt-2"},Qe={key:0},We={key:1,class:"ui-badge bg-warning-100 text-warning-700"},He=g("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 Re(t,n,s,e,m,r){const u=M("AImg");return i(),c("article",{ref:"card","data-sku":e.product.sku,class:"relative h-full max-w-[350px] mx-auto py-3 group"},[(i(),j(T(e.link?"ALink":"span"),{href:e.link,class:"flex flex-col h-full rounded overflow-hidden group-hover:shadow group-hover:ring-1 ring-black/5"},{default:L(()=>[g("div",Ee,[g("div",Me,[e.images?.length?(i(),c(Q,{key:0},[x(u,{picture:e.images[0],alt:e.title,class:"absolute top-0 left-0 block w-full h-full object-cover"},null,8,["picture","alt"]),e.images[1]&&e.wasHoveredOnce?(i(),j(u,{key:0,picture:e.images[1],alt:e.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"])):f("",!0)],64)):(i(),c("div",Te))])]),e.discountPercentage?(i(),c("span",ze,[S(" -"),g("strong",null,h(e.discountPercentage),1),S("% ")])):f("",!0),g("div",qe,[(i(),j(T(s.headingTag),{class:B(["ui-link no-underline line-clamp-2",[e.isActive?"text-base-700":"text-base-500",e.link?"group-hover:underline group-hover:text-primary":null]])},{default:L(()=>[S(h(e.title),1)]),_:1},8,["class"])),g("div",Fe,[e.isActive?(i(),c("div",Qe,[x(e.Prices,{product:e.product},null,8,["product"])])):(i(),c("span",We,h(e.isInStock?"Inativo":"Sem estoque"),1))]),e.isActive&&!e.hasVariations?(i(),c("button",{key:0,class:"uno-3suct9 ui-btn-sm ui-btn-primary",onClick:n[0]||(n[0]=G(_=>e.addProductToCart(e.product),["prevent"]))},[He,S(" "+h("Adicionar ao carrinho"))])):f("",!0)])]),_:1},8,["href"]))],8,Ne)}const Ge=N(De,[["render",Re]]),Je=E({__name:"ProductShelf",props:{collectionId:{},searchQuery:{},sort:{},title:{},titleLink:{},isShuffle:{type:Boolean},limit:{},page:{},products:{}},async setup(t,{expose:n}){n();const s=t,{title:e,titleLink:m,fetching:r,products:u}=me(s),_={props:s,title:e,titleLink:m,fetching:r,products:u,Carousel:Y,CarouselControl:Z,ProductCard:Ge};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}}),Ke={class:"ui-section"},Ue={key:0,class:"max-w-prose mx-auto text-center mb-2"},Xe={class:"ui-text-brand text-3xl"},Ye={key:1,class:"text-base-700"},Ze={class:"text-3xl lg:text-2xl leading-none text-primary lg:opacity-0 group-hover/shelf:opacity-90 transition-opacity"};function $e(t,n,s,e,m,r){const u=M("ALink");return i(),c("section",Ke,[e.title?(i(),c("div",Ue,[g("h2",Xe,[e.titleLink?(i(),j(u,{key:0,href:e.titleLink,class:"ui-link"},{default:L(()=>[S(h(e.title),1)]),_:1},8,["href"])):(i(),c("span",Ye,h(e.title),1))])])):f("",!0),x(e.Carousel,{class:"group/shelf"},{controls:L(()=>[J(g("div",Ze,[x(e.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":""}),x(e.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),[[K,e.products.length>2]])]),default:L(()=>[(i(!0),c(Q,null,U(e.products,_=>(i(),c("li",{key:_._id,class:"basis-1/2 md:basis-1/3 lg:basis-1/4 shrink-0"},[x(e.ProductCard,{product:_},null,8,["product"])]))),128))]),_:1})])}const ot=N(Je,[["render",$e]]);export{ot as default};
@@ -0,0 +1,4 @@
1
+ import{u as bt,a as _t,s as yt,t as Be}from"./api.4984c5be.js";import{u as wt,a as xt,b as St,c as kt,r as Pt,s as Pe,i as It,f as Tt}from"./index.c723d38d.js";import{j as x,c as k,k as ne,l as oe,_ as V,d as $,t as Et,m as Z,o as h,g as N,w as M,a as S,n as L,p as He,b as g,q as Mt,u as ee,i as D,T as Ve,e as O,h as Ot,x as E,F as j,r as W,y as K,z as Ct,A as J,B as se,C as ce,D as q,E as ae,G as Ie,H as Ue,I as Ke,J as Oe,K as Ce}from"./_plugin-vue_export-helper.4cb7dd76.js";import{_ as Ft}from"./preload-helper.cf010ec4.js";import"./session-utm.744b0db3.js";const At=e=>{if(e){if(e.display_name)return e.display_name;if(e.name&&e.name.given_name)return e.name.given_name}return""},Lt=At,$t=e=>{const{header:n,canSetStyles:r,canCreateHeightDiv:t,isShownOnScrollDown:a}={canSetStyles:!0,canCreateHeightDiv:!0,...e},{ready:l,start:o}=wt(100,{controls:!0,immediate:!1}),s=x(0),c=x(0);let u;const{y:i}=xt(document),b=k(()=>l.value&&i.value>c.value*1.2),p=x("none");ne(b,async v=>{r&&n.value&&(n.value.style.position=v?"sticky":""),u&&(u.style.height=v?`${s.value}px`:""),v?(await St(300),p.value="opacity var(--transition-slow), transform var(--transition)"):(o(),p.value="none")});const d=x(!1);return ne(i,(v,f)=>{d.value=v>0&&v<f}),oe(()=>{if(!n.value)throw new Error("<header> (props.header) not set");const v=()=>{const w=n.value;s.value=w.offsetHeight,c.value=s.value+window.scrollY+w.getBoundingClientRect().top,o()},f=n.value.getElementsByTagName("IMG");let _=!0;for(let w=0;w<f.length;w++){const I=f[w];(!I.complete||I.naturalHeight===0)&&(_=!1,I.onload=v)}_&&v(),window.addEventListener("resize",kt(v,300)),r&&(n.value.style.willChange="transform",ne([b,d],([w,I])=>{let P="",F="";w&&(!I||a)&&(P="0",F="translateY(-100%)");const y=n.value;y.style.opacity=P,y.style.transform=F}),ne(p,w=>{n.value.style.transition=w})),t&&(u=document.createElement("div"),n.value.parentElement?.insertBefore(u,n.value))}),{staticHeight:s,staticY:c,isSticky:b,isScrollUp:d,transition:p}},Nt=(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},Dt=(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},Rt=e=>{const{header:n,categories:r=globalThis.$storefront.data.categories||[],menuCategorySlugs:t,menuRandomCategories:a=7,isAlphabeticalSortSubmenu:l}=e,{isSticky:o,staticHeight:s,staticY:c}=$t({header:n}),u=k(()=>o.value?n.value?.offsetHeight:c.value),i=Nt(r,t),b=_=>Dt(r,_,!!l),p=_=>({..._,subcategories:b(_).map(w=>p(w))}),d=i.map(p);let v=0;const f=d.filter(({slug:_})=>t?.includes(_)?!0:v<a?(v+=1,!0):!1);return{isSticky:o,staticHeight:s,staticY:c,positionY:u,mainCategories:i,getSubcategories:b,getCategoryTree:p,categoryTrees:d,inlineMenuTrees:f}},jt=$({__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=x(null),o=d=>{l.value?.contains(d.target)||a()},s=d=>{d.key==="Escape"&&a()},c=x(0);ne(Et(t,"modelValue"),async d=>{d?(c.value=window.innerWidth-document.documentElement.clientWidth,document.body.style.overflow="hidden",document.body.style.paddingRight=`${c.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 u=k(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"down";default:return"up"}}),i=k(()=>t.position==="fixed"),b=k(()=>t.placement==="start"||t.placement==="end"),p={props:t,emit:r,close:a,drawer:l,outsideClickListener:o,escClickListener:s,scrollbarWidth:c,slideTo:u,isFixed:i,isPlacementX:b};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Bt=["open","data-drawer"],Ht={class:"relative h-full"},Vt=["onClick"],Ut=g("i",{class:"i-close text-base-400 text-3xl"},null,-1),Kt={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""};function Wt(e,n,r,t,a,l){const o=Z("Fade");return h(),N(o,{slide:t.slideTo,speed:"slow","is-floating":""},{default:M(()=>[r.modelValue?(h(),S("dialog",{key:0,ref:"drawer",class:L(["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:He({maxWidth:t.isPlacementX?void 0:`calc(100vw - ${t.scrollbarWidth}px)`}),open:r.modelValue,"data-drawer":r.placement},[g("div",Ht,[r.hasCloseButton?(h(),S("button",{key:0,type:"button","aria-label":"Fechar",onClick:Mt(t.close,["prevent"]),class:L(["absolute top-2",r.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[ee(e.$slots,"close",{},()=>[Ut])],10,Vt)):D("",!0),ee(e.$slots,"default")]),(h(),N(Ve,{to:r.backdropTarget},[O(o,null,{default:M(()=>[r.modelValue?(h(),S("div",Kt)):D("",!0)]),_:1})],8,["to"]))],14,Bt)):D("",!0)]),_:3},8,["slide"])}const zt=V(jt,[["render",Wt]]),We="ecomSession",Se={customer:{display_name:"",main_email:""},auth:null},H=bt(We,Se),Te=k(()=>{const{auth:e}=H;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),ze=k(()=>H.customer),me=k(()=>Lt(ze.value)),Fe=k({get(){return ze.value.main_email},set(e){H.customer.main_email=e}});let re;const Ge=k(()=>Te.value||!!re?.currentUser?.emailVerified),Ee=()=>{H.auth=Se.auth,H.customer=Se.customer,localStorage.removeItem(We),re.signOut()},Ye=(e="Not authenticated")=>{const n=new Error(e);throw n.isNoAuth=!0,n},qe=async()=>{const e=await re.currentUser?.getIdToken();if(!e){Ye("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}`}});H.auth=await r.json()}catch(r){console.error(r)}},Gt=async()=>(Te.value||await qe(),H.auth?H.auth.access_token:Ye()),Yt=async()=>{const e=await Gt(),n=H.auth,{data:r}=await _t.get(`customers/${n.customer_id}`,{accessToken:e});return H.customer=r,r};let Ae=!1;const Xe=(e=!window.location.pathname.startsWith("/app/"))=>{if(Ae)return;Ae=!0;const n=()=>Ft(()=>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&&!me.value&&(H.customer.display_name=o.displayName),o.email&&(!Fe.value||o.emailVerified)&&(H.customer.main_email=o.email),o.emailVerified){const s=o.email!==Fe.value;(s||!Te.value)&&(await qe(),(s||!me.value)&&await Yt())}}else Ee()}),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?Pt(n):n()},qt=$({__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=k(()=>{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}}),Xt=["href"];function Jt(e,n,r,t,a,l){return h(),S("a",{href:t.href},[ee(e.$slots,"default")],8,Xt)}const Je=V(qt,[["render",Jt]]),Qt=$({__name:"SocialNetworkIcon",props:{as:{default:"i"},network:{}},setup(e,{expose:n}){n();const r=e,t=k(()=>{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 Zt(e,n,r,t,a,l){return h(),N(Ot(r.as),{class:L(t.iconClassName)},null,8,["class"])}const en=V(Qt,[["render",Zt]]),tn=$({__name:"SocialNetworkLink",props:{network:{},href:{},message:{}},setup(e,{expose:n}){n();const r=e,t=k(()=>{let l=r.href||Pe[r.network]||"";if(r.network==="whatsapp"){const o=l.replace(/[^+\d]/g,"");l=`https://${It?"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:en};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}});function nn(e,n,r,t,a,l){const o=Z("ALink");return h(),N(o,{href:t.fixedHref},{default:M(()=>[ee(e.$slots,"default",{},()=>[O(t.SocialNetworkIcon,{network:r.network},null,8,["network"]),ee(e.$slots,"append")])]),_:3},8,["href"])}const Qe=V(tn,[["render",nn]]),rn=$({__name:"ShopSidenavCategory",props:{categoryTree:{}},setup(e,{expose:n}){n();const r=x(!1),t=x(!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}}),an={class:"text-lg text-base-800"},on=["href"],ln=["href"],sn={class:"inline"};function un(e,n,r,t,a,l){const o=Z("AImg"),s=Z("ShopSidenavCategory",!0);return h(),S("li",an,[r.categoryTree.subcategories.length?(h(),S("details",{key:0,class:"bg-white overflow-y-auto overflow-x-hidden z-10 open:absolute open:top-0 open:left-0 open:w-full open:h-full",onToggle:n[0]||(n[0]=c=>t.isOpen=!t.isOpen)},[g("summary",{class:L(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[g("i",{class:L(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?(h(),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),g("h3",{class:L(["inline",t.isOpen?"ml-4 text-base":null])},E(r.categoryTree.name),3)],2),g("ul",{class:L(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(h(!0),S(j,null,W(r.categoryTree.subcategories,(c,u)=>(h(),N(s,{key:u,"category-tree":c},null,8,["category-tree"]))),128)),g("li",null,[g("a",{href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 text-base underline active:bg-base-200"},E("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,on)])],2)],32)):(h(),S("a",{key:1,href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 active:bg-base-200"},[!t.isOpen&&r.categoryTree.icon?(h(),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),g("h3",sn,E(r.categoryTree.name),1)],8,ln))])}const cn=V(rn,[["render",un]]),dn=$({__name:"ShopSidenav",props:{categoryTrees:{}},setup(e,{expose:n}){n(),oe(()=>Xe());const r={get customerName(){return me},get isLogged(){return Ge},get logout(){return Ee},get socialNetworks(){return Pe},AccountLink:Je,SocialNetworkLink:Qe,ShopSidenavCategory:cn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),fn={class:"flex flex-col h-full"},pn={class:"py-4 grow"},vn={class:"relative h-full"},mn={class:"text-base"},gn={class:"flex items-center px-2 py-4 bg-base-100"},hn=g("i",{class:"i-user-circle text-4xl text-base-500 m-0"},null,-1),bn={class:"leading-tight"},_n=g("small",{class:"block lowercase font-semibold text-primary"},E("Meus pedidos")+", "+E("Minha conta"),-1),yn=g("span",{class:"text-base-600"},E("Sair"),-1),wn=g("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),xn=[yn,wn],Sn={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function kn(e,n,r,t,a,l){return h(),S("aside",fn,[g("nav",pn,[g("ul",vn,[(h(!0),S(j,null,W(r.categoryTrees,(o,s)=>(h(),N(t.ShopSidenavCategory,{key:s,"category-tree":o},null,8,["category-tree"]))),128))])]),g("footer",mn,[g("div",gn,[O(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:M(()=>[hn,g("span",bn,[K(E(`Olá ${t.customerName||"Visitante"}`)+" ",1),_n])]),_:1}),t.isLogged?(h(),S("button",{key:0,onClick:n[0]||(n[0]=(...o)=>t.logout&&t.logout(...o)),class:"p-2 text-right text-base-800"},xn)):D("",!0)]),g("ul",Sn,[(h(!0),S(j,null,W(t.socialNetworks,(o,s)=>(h(),S("li",{key:s},[O(t.SocialNetworkLink,{network:s,class:"p-1 active:text-primary"},null,8,["network"])]))),128))])])])}const Pn=V(dn,[["render",kn]]);function z(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,z),t}var ie=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(ie||{}),In=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(In||{});function te({visible:e=!0,features:n=0,ourProps:r,theirProps:t,...a}){var l;let o=et(t,r),s=Object.assign(a,{props:o});if(e||n&2&&o.static)return xe(s);if(n&1){let c=(l=o.unmount)==null||l?0:1;return z(c,{0(){return null},1(){return xe({...a,props:{...o,hidden:!0,style:{display:"none"}}})}})}return xe(s)}function xe({props:e,attrs:n,slots:r,slot:t,name:a}){var l,o;let{as:s,...c}=Tn(e,["unmount","static"]),u=(l=r.default)==null?void 0:l.call(r,t),i={};if(t){let b=!1,p=[];for(let[d,v]of Object.entries(t))typeof v=="boolean"&&(b=!0),v===!0&&p.push(d);b&&(i["data-headlessui-state"]=p.join(" "))}if(s==="template"){if(u=Ze(u??[]),Object.keys(c).length>0||Object.keys(n).length>0){let[b,...p]=u??[];if(!En(b)||p.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(c).concat(Object.keys(n)).map(f=>f.trim()).filter((f,_,w)=>w.indexOf(f)===_).sort((f,_)=>f.localeCompare(_)).map(f=>` - ${f}`).join(`
2
+ `),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map(f=>` - ${f}`).join(`
3
+ `)].join(`
4
+ `));let d=et((o=b.props)!=null?o:{},c),v=Ct(b,d);for(let f in d)f.startsWith("on")&&(v.props||(v.props={}),v.props[f]=d[f]);return v}return Array.isArray(u)&&u.length===1?u[0]:u}return J(s,Object.assign({},c,i),{default:()=>u})}function Ze(e){return e.flatMap(n=>n.type===j?Ze(n.children):[n])}function et(...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 Tn(e,n=[]){let r=Object.assign({},e);for(let t of n)t in r&&delete r[t];return r}function En(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let Mn=0;function On(){return++Mn}function Q(){return On()}var A=(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))(A||{});function Cn(e){throw new Error("Unexpected object: "+e)}var R=(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))(R||{});function Fn(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,c,u)=>a!==-1&&u.length-c-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:Cn(e)}})();return l===-1?t:l}function m(e){var n;return e==null||e.value==null?null:(n=e.value.$el)!=null?n:e.value}let tt=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 nt(){return se(tt,null)}function rt(e){ce(tt,e)}function Le(e,n){if(e)return e;let r=n??"button";if(typeof r=="string"&&r.toLowerCase()==="button")return"button"}function at(e,n){let r=x(Le(e.value.type,e.value.as));return oe(()=>{r.value=Le(e.value.type,e.value.as)}),q(()=>{var t;r.value||m(n)&&m(n)instanceof HTMLButtonElement&&!((t=m(n))!=null&&t.hasAttribute("type"))&&(r.value="button")}),r}var An=Object.defineProperty,Ln=(e,n,r)=>n in e?An(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,$e=(e,n,r)=>(Ln(e,typeof n!="symbol"?n+"":n,r),r);class $n{constructor(){$e(this,"current",this.detect()),$e(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 be=new $n;function le(e){if(be.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty("value")){let n=m(e);if(n)return n.ownerDocument}return document}function Nn({container:e,accept:n,walk:r,enabled:t}){q(()=>{let a=e.value;if(!a||t!==void 0&&!t.value)return;let l=le(e);if(!l)return;let o=Object.assign(c=>n(c),{acceptNode:n}),s=l.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)r(s.currentNode)})}let ke=["[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 U=(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))(U||{}),ge=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(ge||{}),Dn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Dn||{});function de(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(ke)).sort((n,r)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(r.tabIndex||Number.MAX_SAFE_INTEGER)))}var _e=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(_e||{});function ye(e,n=0){var r;return e===((r=le(e))==null?void 0:r.body)?!1:z(n,{0(){return e.matches(ke)},1(){let t=e;for(;t!==null;){if(t.matches(ke))return!0;t=t.parentElement}return!1}})}function ot(e){let n=le(e);ae(()=>{n&&!ye(n.activeElement,0)&&jn(e)})}var Rn=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Rn||{});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 jn(e){e?.focus({preventScroll:!0})}let Bn=["textarea","input"].join(",");function Hn(e){var n,r;return(r=(n=e?.matches)==null?void 0:n.call(e,Bn))!=null?r:!1}function lt(e,n=r=>r){return e.slice().sort((r,t)=>{let 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 Vn(e,n){return X(de(),n,{relativeTo:e})}function X(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?lt(e):e:de(e);a.length>0&&s.length>1&&(s=s.filter(v=>!a.includes(v))),t=t??o.activeElement;let c=(()=>{if(n&5)return 1;if(n&10)return-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),u=(()=>{if(n&1)return 0;if(n&2)return Math.max(0,s.indexOf(t))-1;if(n&4)return Math.max(0,s.indexOf(t))+1;if(n&8)return s.length-1;throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last")})(),i=n&32?{preventScroll:!0}:{},b=0,p=s.length,d;do{if(b>=p||b+p<=0)return 0;let v=u+b;if(n&16)v=(v+p)%p;else{if(v<0)return 3;if(v>=p)return 1}d=s[v],d?.focus(i),b+=c}while(d!==o.activeElement);return n&6&&Hn(d)&&d.select(),2}function ve(e,n,r){be.isServer||q(t=>{document.addEventListener(e,n,r),t(()=>document.removeEventListener(e,n,r))})}function st(e,n,r){be.isServer||q(t=>{window.addEventListener(e,n,r),t(()=>window.removeEventListener(e,n,r))})}function it(e,n,r=k(()=>!0)){function t(l,o){if(!r.value||l.defaultPrevented)return;let s=o(l);if(s===null||!s.getRootNode().contains(s))return;let c=function u(i){return typeof i=="function"?u(i()):Array.isArray(i)||i instanceof Set?i:[i]}(e);for(let u of c){if(u===null)continue;let i=u instanceof HTMLElement?u:m(u);if(i!=null&&i.contains(s)||l.composed&&l.composedPath().includes(i))return}return!ye(s,_e.Loose)&&s.tabIndex!==-1&&l.preventDefault(),n(l,s)}let a=x(null);ve("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),ve("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),ve("click",l=>{a.value&&(t(l,()=>a.value),a.value=null)},!0),ve("touchend",l=>t(l,()=>l.target instanceof HTMLElement?l.target:null),!0),st("blur",l=>t(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var ue=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(ue||{});let he=$({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 Ne(e){return[e.screenX,e.screenY]}function Un(){let e=x([-1,-1]);return{wasMoved(n){let r=Ne(n);return e.value[0]===r[0]&&e.value[1]===r[1]?!1:(e.value=r,!0)},update(n){e.value=Ne(n)}}}var G=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(G||{});function ut(){let e=x(0);return st("keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function Kn(e,n,r,t){be.isServer||q(a=>{e=e??window,e.addEventListener(n,r,t),a(()=>e.removeEventListener(n,r,t))})}let De=Symbol("PortalParentContext");function Wn(){let e=se(De,null),n=x([]);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,$({name:"PortalWrapper",setup(l,{slots:o}){return ce(De,a),()=>{var s;return(s=o.default)==null?void 0:s.call(o)}}})]}function zn({defaultContainers:e=[],portals:n}={}){let r=x(null),t=le(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(m(r))||o.some(c=>s.contains(c))||o.push(s));return o}return{resolveContainers:a,contains(l){return a().some(o=>o.contains(l))},mainTreeNodeRef:r,MainTreeNode(){return J(he,{features:ue.Hidden,ref:r})}}}let Re=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function je(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 Re.test(o)&&(o=o.replace(Re,"")),o}function Gn(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():je(l).trim()}return null}).filter(Boolean);if(t.length>0)return t.join(", ")}return je(e).trim()}function Yn(e){let n=x(""),r=x("");return()=>{let t=m(e);if(!t)return"";let a=t.innerText;if(n.value===a)return r.value;let l=Gn(t).trim().toLowerCase();return n.value=a,r.value=l,l}}var qn=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(qn||{}),Xn=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(Xn||{});function Jn(e){requestAnimationFrame(()=>requestAnimationFrame(e))}let ct=Symbol("MenuContext");function we(e){let n=se(ct,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,we),r}return n}let Qn=$({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(e,{slots:n,attrs:r}){let t=x(1),a=x(null),l=x(null),o=x([]),s=x(""),c=x(null),u=x(1);function i(p=d=>d){let d=c.value!==null?o.value[c.value]:null,v=lt(p(o.value.slice()),_=>m(_.dataRef.domRef)),f=d?v.indexOf(d):null;return f===-1&&(f=null),{items:v,activeItemIndex:f}}let b={menuState:t,buttonRef:a,itemsRef:l,items:o,searchQuery:s,activeItemIndex:c,activationTrigger:u,closeMenu:()=>{t.value=1,c.value=null},openMenu:()=>t.value=0,goToItem(p,d,v){let f=i(),_=Fn(p===R.Specific?{focus:R.Specific,id:d}:{focus:p},{resolveItems:()=>f.items,resolveActiveIndex:()=>f.activeItemIndex,resolveId:w=>w.id,resolveDisabled:w=>w.dataRef.disabled});s.value="",c.value=_,u.value=v??1,o.value=f.items},search(p){let d=s.value!==""?0:1;s.value+=p.toLowerCase();let v=(c.value!==null?o.value.slice(c.value+d).concat(o.value.slice(0,c.value+d)):o.value).find(_=>_.dataRef.textValue.startsWith(s.value)&&!_.dataRef.disabled),f=v?o.value.indexOf(v):-1;f===-1||f===c.value||(c.value=f,u.value=1)},clearSearch(){s.value=""},registerItem(p,d){let v=i(f=>[...f,{id:p,dataRef:d}]);o.value=v.items,c.value=v.activeItemIndex,u.value=1},unregisterItem(p){let d=i(v=>{let f=v.findIndex(_=>_.id===p);return f!==-1&&v.splice(f,1),v});o.value=d.items,c.value=d.activeItemIndex,u.value=1}};return it([a,l],(p,d)=>{var v;b.closeMenu(),ye(d,_e.Loose)||(p.preventDefault(),(v=m(a))==null||v.focus())},k(()=>t.value===0)),ce(ct,b),rt(k(()=>z(t.value,{0:Y.Open,1:Y.Closed}))),()=>{let p={open:t.value===0,close:b.closeMenu};return te({ourProps:{},theirProps:e,slot:p,slots:n,attrs:r,name:"Menu"})}}}),Zn=$({name:"MenuButton",props:{disabled:{type:Boolean,default:!1},as:{type:[Object,String],default:"button"},id:{type:String,default:()=>`headlessui-menu-button-${Q()}`}},setup(e,{attrs:n,slots:r,expose:t}){let a=we("MenuButton");t({el:a.buttonRef,$el:a.buttonRef});function l(u){switch(u.key){case A.Space:case A.Enter:case A.ArrowDown:u.preventDefault(),u.stopPropagation(),a.openMenu(),ae(()=>{var i;(i=m(a.itemsRef))==null||i.focus({preventScroll:!0}),a.goToItem(R.First)});break;case A.ArrowUp:u.preventDefault(),u.stopPropagation(),a.openMenu(),ae(()=>{var i;(i=m(a.itemsRef))==null||i.focus({preventScroll:!0}),a.goToItem(R.Last)});break}}function o(u){switch(u.key){case A.Space:u.preventDefault();break}}function s(u){e.disabled||(a.menuState.value===0?(a.closeMenu(),ae(()=>{var i;return(i=m(a.buttonRef))==null?void 0:i.focus({preventScroll:!0})})):(u.preventDefault(),a.openMenu(),Jn(()=>{var i;return(i=m(a.itemsRef))==null?void 0:i.focus({preventScroll:!0})})))}let c=at(k(()=>({as:e.as,type:n.type})),a.buttonRef);return()=>{var u;let i={open:a.menuState.value===0},{id:b,...p}=e,d={ref:a.buttonRef,id:b,type:c.value,"aria-haspopup":"menu","aria-controls":(u=m(a.itemsRef))==null?void 0:u.id,"aria-expanded":a.menuState.value===0,onKeydown:l,onKeyup:o,onClick:s};return te({ourProps:d,theirProps:p,slot:i,attrs:n,slots:r,name:"MenuButton"})}}}),er=$({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-${Q()}`}},setup(e,{attrs:n,slots:r,expose:t}){let a=we("MenuItems"),l=x(null);t({el:a.itemsRef,$el:a.itemsRef}),Nn({container:k(()=>m(a.itemsRef)),enabled:k(()=>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 b;switch(l.value&&clearTimeout(l.value),i.key){case A.Space:if(a.searchQuery.value!=="")return i.preventDefault(),i.stopPropagation(),a.search(i.key);case A.Enter:if(i.preventDefault(),i.stopPropagation(),a.activeItemIndex.value!==null){let p=a.items.value[a.activeItemIndex.value];(b=m(p.dataRef.domRef))==null||b.click()}a.closeMenu(),ot(m(a.buttonRef));break;case A.ArrowDown:return i.preventDefault(),i.stopPropagation(),a.goToItem(R.Next);case A.ArrowUp:return i.preventDefault(),i.stopPropagation(),a.goToItem(R.Previous);case A.Home:case A.PageUp:return i.preventDefault(),i.stopPropagation(),a.goToItem(R.First);case A.End:case A.PageDown:return i.preventDefault(),i.stopPropagation(),a.goToItem(R.Last);case A.Escape:i.preventDefault(),i.stopPropagation(),a.closeMenu(),ae(()=>{var p;return(p=m(a.buttonRef))==null?void 0:p.focus({preventScroll:!0})});break;case A.Tab:i.preventDefault(),i.stopPropagation(),a.closeMenu(),ae(()=>Vn(m(a.buttonRef),i.shiftKey?U.Previous:U.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 A.Space:i.preventDefault();break}}let c=nt(),u=k(()=>c!==null?(c.value&Y.Open)===Y.Open:a.menuState.value===0);return()=>{var i,b;let p={open:a.menuState.value===0},{id:d,...v}=e,f={"aria-activedescendant":a.activeItemIndex.value===null||(i=a.items.value[a.activeItemIndex.value])==null?void 0:i.id,"aria-labelledby":(b=m(a.buttonRef))==null?void 0:b.id,id:d,onKeydown:o,onKeyup:s,role:"menu",tabIndex:0,ref:a.itemsRef};return te({ourProps:f,theirProps:v,slot:p,attrs:n,slots:r,features:ie.RenderStrategy|ie.Static,visible:u.value,name:"MenuItems"})}}}),tr=$({name:"MenuItem",inheritAttrs:!1,props:{as:{type:[Object,String],default:"template"},disabled:{type:Boolean,default:!1},id:{type:String,default:()=>`headlessui-menu-item-${Q()}`}},setup(e,{slots:n,attrs:r,expose:t}){let a=we("MenuItem"),l=x(null);t({el:l,$el:l});let o=k(()=>a.activeItemIndex.value!==null?a.items.value[a.activeItemIndex.value].id===e.id:!1),s=Yn(l),c=k(()=>({disabled:e.disabled,get textValue(){return s()},domRef:l}));oe(()=>a.registerItem(e.id,c)),Ie(()=>a.unregisterItem(e.id)),q(()=>{a.menuState.value===0&&o.value&&a.activationTrigger.value!==0&&ae(()=>{var f,_;return(_=(f=m(l))==null?void 0:f.scrollIntoView)==null?void 0:_.call(f,{block:"nearest"})})});function u(f){if(e.disabled)return f.preventDefault();a.closeMenu(),ot(m(a.buttonRef))}function i(){if(e.disabled)return a.goToItem(R.Nothing);a.goToItem(R.Specific,e.id)}let b=Un();function p(f){b.update(f)}function d(f){b.wasMoved(f)&&(e.disabled||o.value||a.goToItem(R.Specific,e.id,0))}function v(f){b.wasMoved(f)&&(e.disabled||o.value&&a.goToItem(R.Nothing))}return()=>{let{disabled:f}=e,_={active:o.value,disabled:f,close:a.closeMenu},{id:w,...I}=e;return te({ourProps:{id:w,ref:l,role:"menuitem",tabIndex:f===!0?void 0:-1,"aria-disabled":f===!0?!0:void 0,disabled:void 0,onClick:u,onFocus:i,onPointerenter:p,onMouseenter:p,onPointermove:d,onMousemove:d,onPointerleave:v,onMouseleave:v},theirProps:{...r,...I},slot:_,attrs:r,slots:n,name:"MenuItem"})}}});var nr=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(nr||{});let dt=Symbol("PopoverContext");function Me(e){let n=se(dt,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <${vt.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Me),r}return n}let rr=Symbol("PopoverGroupContext");function ft(){return se(rr,null)}let pt=Symbol("PopoverPanelContext");function ar(){return se(pt,null)}let vt=$({name:"Popover",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:n,attrs:r,expose:t}){var a;let l=x(null);t({el:l,$el:l});let o=x(1),s=x(null),c=x(null),u=x(null),i=x(null),b=k(()=>le(l)),p=k(()=>{var y,T;if(!m(s)||!m(i))return!1;for(let pe of document.querySelectorAll("body > *"))if(Number(pe?.contains(m(s)))^Number(pe?.contains(m(i))))return!0;let C=de(),B=C.indexOf(m(s)),fe=(B+C.length-1)%C.length,mt=(B+1)%C.length,gt=C[fe],ht=C[mt];return!((y=m(i))!=null&&y.contains(gt))&&!((T=m(i))!=null&&T.contains(ht))}),d={popoverState:o,buttonId:x(null),panelId:x(null),panel:i,button:s,isPortalled:p,beforePanelSentinel:c,afterPanelSentinel:u,togglePopover(){o.value=z(o.value,{0:1,1:0})},closePopover(){o.value!==1&&(o.value=1)},close(y){d.closePopover();let T=(()=>y?y instanceof HTMLElement?y:y.value instanceof HTMLElement?m(y):m(d.button):m(d.button))();T?.focus()}};ce(dt,d),rt(k(()=>z(o.value,{0:Y.Open,1:Y.Closed})));let v={buttonId:d.buttonId,panelId:d.panelId,close(){d.closePopover()}},f=ft(),_=f?.registerPopover,[w,I]=Wn(),P=zn({portals:w,defaultContainers:[s,i]});function F(){var y,T,C,B;return(B=f?.isFocusWithinPopoverGroup())!=null?B:((y=b.value)==null?void 0:y.activeElement)&&(((T=m(s))==null?void 0:T.contains(b.value.activeElement))||((C=m(i))==null?void 0:C.contains(b.value.activeElement)))}return q(()=>_?.(v)),Kn((a=b.value)==null?void 0:a.defaultView,"focus",y=>{var T,C;y.target!==window&&y.target instanceof HTMLElement&&o.value===0&&(F()||s&&i&&(P.contains(y.target)||(T=m(d.beforePanelSentinel))!=null&&T.contains(y.target)||(C=m(d.afterPanelSentinel))!=null&&C.contains(y.target)||d.closePopover()))},!0),it(P.resolveContainers,(y,T)=>{var C;d.closePopover(),ye(T,_e.Loose)||(y.preventDefault(),(C=m(s))==null||C.focus())},k(()=>o.value===0)),()=>{let y={open:o.value===0,close:d.close};return J(I,{},()=>te({theirProps:{...e,...r},ourProps:{ref:l},slot:y,slots:n,attrs:r,name:"Popover"}))}}}),or=$({name:"PopoverButton",props:{as:{type:[Object,String],default:"button"},disabled:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-popover-button-${Q()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let a=Me("PopoverButton"),l=k(()=>le(a.button));t({el:a.button,$el:a.button}),oe(()=>{a.buttonId.value=e.id}),Ie(()=>{a.buttonId.value=null});let o=ft(),s=o?.closeOthers,c=ar(),u=k(()=>c===null?!1:c.value===a.panelId.value),i=x(null),b=`headlessui-focus-sentinel-${Q()}`;u.value||q(()=>{a.button.value=i.value});let p=at(k(()=>({as:e.as,type:n.type})),i);function d(P){var F,y,T,C,B;if(u.value){if(a.popoverState.value===1)return;switch(P.key){case A.Space:case A.Enter:P.preventDefault(),(y=(F=P.target).click)==null||y.call(F),a.closePopover(),(T=m(a.button))==null||T.focus();break}}else switch(P.key){case A.Space:case A.Enter:P.preventDefault(),P.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover();break;case A.Escape:if(a.popoverState.value!==0)return s?.(a.buttonId.value);if(!m(a.button)||(C=l.value)!=null&&C.activeElement&&!((B=m(a.button))!=null&&B.contains(l.value.activeElement)))return;P.preventDefault(),P.stopPropagation(),a.closePopover();break}}function v(P){u.value||P.key===A.Space&&P.preventDefault()}function f(P){var F,y;e.disabled||(u.value?(a.closePopover(),(F=m(a.button))==null||F.focus()):(P.preventDefault(),P.stopPropagation(),a.popoverState.value===1&&s?.(a.buttonId.value),a.togglePopover(),(y=m(a.button))==null||y.focus()))}function _(P){P.preventDefault(),P.stopPropagation()}let w=ut();function I(){let P=m(a.panel);if(!P)return;function F(){z(w.value,{[G.Forwards]:()=>X(P,U.First),[G.Backwards]:()=>X(P,U.Last)})===ge.Error&&X(de().filter(y=>y.dataset.headlessuiFocusGuard!=="true"),z(w.value,{[G.Forwards]:U.Next,[G.Backwards]:U.Previous}),{relativeTo:m(a.button)})}F()}return()=>{let P=a.popoverState.value===0,F={open:P},{id:y,...T}=e,C=u.value?{ref:i,type:p.value,onKeydown:d,onClick:f}:{ref:i,id:y,type:p.value,"aria-expanded":a.popoverState.value===0,"aria-controls":m(a.panel)?a.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:d,onKeyup:v,onClick:f,onMousedown:_};return J(j,[te({ourProps:C,theirProps:{...n,...T},slot:F,attrs:n,slots:r,name:"PopoverButton"}),P&&!u.value&&a.isPortalled.value&&J(he,{id:b,features:ue.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:I})])}}}),lr=$({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-${Q()}`}},inheritAttrs:!1,setup(e,{attrs:n,slots:r,expose:t}){let{focus:a}=e,l=Me("PopoverPanel"),o=k(()=>le(l.panel)),s=`headlessui-focus-sentinel-before-${Q()}`,c=`headlessui-focus-sentinel-after-${Q()}`;t({el:l.panel,$el:l.panel}),oe(()=>{l.panelId.value=e.id}),Ie(()=>{l.panelId.value=null}),ce(pt,l.panelId),q(()=>{var _,w;if(!a||l.popoverState.value!==0||!l.panel)return;let I=(_=o.value)==null?void 0:_.activeElement;(w=m(l.panel))!=null&&w.contains(I)||X(m(l.panel),U.First)});let u=nt(),i=k(()=>u!==null?(u.value&Y.Open)===Y.Open:l.popoverState.value===0);function b(_){var w,I;switch(_.key){case A.Escape:if(l.popoverState.value!==0||!m(l.panel)||o.value&&!((w=m(l.panel))!=null&&w.contains(o.value.activeElement)))return;_.preventDefault(),_.stopPropagation(),l.closePopover(),(I=m(l.button))==null||I.focus();break}}function p(_){var w,I,P,F,y;let T=_.relatedTarget;T&&m(l.panel)&&((w=m(l.panel))!=null&&w.contains(T)||(l.closePopover(),((P=(I=m(l.beforePanelSentinel))==null?void 0:I.contains)!=null&&P.call(I,T)||(y=(F=m(l.afterPanelSentinel))==null?void 0:F.contains)!=null&&y.call(F,T))&&T.focus({preventScroll:!0})))}let d=ut();function v(){let _=m(l.panel);if(!_)return;function w(){z(d.value,{[G.Forwards]:()=>{var I;X(_,U.First)===ge.Error&&((I=m(l.afterPanelSentinel))==null||I.focus())},[G.Backwards]:()=>{var I;(I=m(l.button))==null||I.focus({preventScroll:!0})}})}w()}function f(){let _=m(l.panel);if(!_)return;function w(){z(d.value,{[G.Forwards]:()=>{let I=m(l.button),P=m(l.panel);if(!I)return;let F=de(),y=F.indexOf(I),T=F.slice(0,y+1),C=[...F.slice(y+1),...T];for(let B of C.slice())if(B.dataset.headlessuiFocusGuard==="true"||P!=null&&P.contains(B)){let fe=C.indexOf(B);fe!==-1&&C.splice(fe,1)}X(C,U.First,{sorted:!1})},[G.Backwards]:()=>{var I;X(_,U.Previous)===ge.Error&&((I=m(l.button))==null||I.focus())}})}w()}return()=>{let _={open:l.popoverState.value===0,close:l.close},{id:w,focus:I,...P}=e,F={ref:l.panel,id:w,onKeydown:b,onFocusout:a&&l.popoverState.value===0?p:void 0,tabIndex:-1};return te({ourProps:F,theirProps:{...n,...P},attrs:n,slot:_,slots:{...r,default:(...y)=>{var T;return[J(j,[i.value&&l.isPortalled.value&&J(he,{id:s,ref:l.beforePanelSentinel,features:ue.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:v}),(T=r.default)==null?void 0:T.call(r,...y),i.value&&l.isPortalled.value&&J(he,{id:c,ref:l.afterPanelSentinel,features:ue.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:f})])]}},features:ie.RenderStrategy|ie.Static,visible:i.value,name:"PopoverPanel"})}}});const sr=e=>{const n=k(()=>{const c=e.categoryTree.pictures?.[0];if(c&&!c.alt)return{alt:e.categoryTree.name,...c}}),r=k(()=>e.categoryTree.subcategories.filter(({subcategories:c})=>c.length)),t=k(()=>{let c=r.value.length;return n.value&&(c+=1),r.value.length<e.categoryTree.subcategories.length&&(c+=1),c}),a=k(()=>(e.megaMenuMaxCols||7)>=t.value),l=k(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:c})=>!c.length):e.categoryTree.subcategories),o=k(()=>a.value?e.categoryTree.subcategories.filter(({subcategories:c})=>c.length):e.categoryTree.subcategories),s=k(()=>a.value?t.value:n.value?2:1);return{categoryPicture:n,isMegaMenu:a,subcategoryLinks:l,subcategoryCols:o,countMenuCols:s}},ir=$({__name:"ShopHeaderSubmenu",props:{categoryTree:{},megaMenuMaxCols:{}},setup(e,{expose:n}){n();const r=e,{categoryPicture:t,subcategoryLinks:a,subcategoryCols:l,countMenuCols:o}=sr(r),s={props:r,categoryPicture:t,subcategoryLinks:a,subcategoryCols:l,countMenuCols:o,get Popover(){return vt},get PopoverButton(){return or},get PopoverPanel(){return lr}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),ur={class:"relative"},cr={class:"flex gap-6 w-full"},dr={key:0,class:"flex-1"},fr=["href"],pr=["href"],vr={class:"text-sm text-base-600 mt-1 mb-1.5"},mr=["href"],gr=["href"];function hr(e,n,r,t,a,l){const o=Z("AImg"),s=Z("Fade");return h(),N(t.Popover,null,{default:M(({open:c})=>[O(t.PopoverButton,{class:"outline-none"},{default:M(()=>[ee(e.$slots,"button",Ue(Ke({open:c})))]),_:2},1024),g("div",ur,[O(s,null,{default:M(()=>[O(t.PopoverPanel,{class:L(["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:M(()=>[g("div",cr,[t.subcategoryLinks.length?(h(),S("ul",dr,[(h(!0),S(j,null,W(t.subcategoryLinks,(u,i)=>(h(),S("li",{key:`link-${i}`,class:L(t.subcategoryLinks.length>10?"text-sm mb-1":"mb-2")},[g("a",{href:`/${u.slug}`,class:"hover:text-primary"},[g("h3",null,E(u.name),1)],8,fr)],2))),128))])):D("",!0),(h(!0),S(j,null,W(t.subcategoryCols,(u,i)=>(h(),S("div",{key:i,class:"flex-1"},[g("a",{href:`/${u.slug}`,class:"hover:text-primary"},[g("h3",null,E(u.name),1)],8,pr),g("ul",vr,[(h(!0),S(j,null,W(u.subcategories,(b,p)=>(h(),S("li",{key:`${i}-${p}`,class:"mb-0.5"},[g("a",{href:`/${b.slug}`,class:"hover:text-primary hover:underline"},[g("h3",null,E(b.name),1)],8,mr)]))),128))])]))),128)),t.categoryPicture?(h(),S("div",{key:1,class:L(t.countMenuCols===2?"basis-1/2":t.countMenuCols<5?"basis-2/5":"basis-1/3")},[O(o,{picture:t.categoryPicture,class:"ml-auto rounded"},null,8,["picture"])],2)):D("",!0)]),g("a",{href:`/${r.categoryTree.slug}`,class:"block mt-1 text-xs text-base-600 leading-snug underline"},E("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,gr)]),_:1},8,["class"])]),_:1})])]),_:3})}const br=V(ir,[["render",hr]]),_r=$({__name:"ShopHeaderMenu",props:{inlineMenuTrees:{}},setup(e,{expose:n}){n();const r=e,t=k(()=>!!r.inlineMenuTrees.find(({subcategories:l})=>!l.length)),a={props:r,hasOneLevelSubcategories:t,ShopHeaderSubmenu:br};return Object.defineProperty(a,"__isScriptSetup",{enumerable:!1,value:!0}),a}}),yr={class:"hover:text-primary group"},wr=["href"],xr={class:"inline"};function Sr(e,n,r,t,a,l){return h(),S("nav",null,[g("ul",{class:L(["flex gap-4 xl:gap-5 text-base-700",r.inlineMenuTrees.length<7?"text-base":"text-sm"])},[(h(!0),S(j,null,W(r.inlineMenuTrees,(o,s)=>(h(),S("li",{key:s},[o.subcategories.length?(h(),N(t.ShopHeaderSubmenu,{key:0,"category-tree":o},{button:M(({open:c})=>[g("span",yr,[g("h3",{class:L(["group-hover:underline inline",[r.inlineMenuTrees.length<7?"decoration-2":null,c?"underline":null]])},E(o.name),3),t.hasOneLevelSubcategories?(h(),S("i",{key:0,class:L(["i-chevron-down ml-1 transition-transform text-base-400 group-hover:text-primary-subtle",c?"rotate-180":null])},null,2)):D("",!0)])]),_:2},1032,["category-tree"])):(h(),S("a",{key:1,href:`/${o.slug}`,class:L(["hover:text-primary hover:underline",r.inlineMenuTrees.length<7?"decoration-2":null])},[g("h3",xr,E(o.name),1)],10,wr))]))),128))],2)])}const kr=V(_r,[["render",Sr]]),Pr={},Ir={class:"w-full h-40 bg-base-300"};function Tr(e,n){return h(),S("div",Ir)}const Er=V(Pr,[["render",Tr]]),Mr=$({__name:"AccountMenu",props:{serviceLinks:{}},setup(e,{expose:n}){n();const r={get Menu(){return Qn},get MenuButton(){return Zn},get MenuItems(){return er},get MenuItem(){return tr},get socialNetworks(){return Pe},get customerName(){return me},get initializeFirebaseAuth(){return Xe},get isLogged(){return Ge},get logout(){return Ee},AccountLink:Je,SocialNetworkLink:Qe};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Or={key:0},Cr={class:"p-3 text-base-600"},Fr={class:"list-none"},Ar=g("i",{class:"i-heart mr-1"},null,-1),Lr={class:"flex justify-center gap-2 p-2 text-base-500 text-base"},$r=g("span",{class:"text-base-600"},E("Sair"),-1),Nr=g("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),Dr=[$r,Nr];function Rr(e,n,r,t,a,l){const o=Z("ALink"),s=Z("Fade");return h(),N(t.Menu,{as:"div",class:"relative text-center text-sm text-base-800"},{default:M(({open:c})=>[c?(h(),S("div",Or,[n[0]||(Oe(-1),n[0]=g("span",null,[K(E(t.initializeFirebaseAuth()),1)]),Oe(1),n[0])])):D("",!0),O(t.MenuButton,{class:"outline-none","aria-label":"Minha conta"},{default:M(()=>[ee(e.$slots,"button",Ue(Ke({open:c})))]),_:2},1024),O(s,null,{default:M(()=>[O(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:M(()=>[g("div",Cr,[K(E(`Olá ${t.customerName||"Visitante"}`)+" ",1),O(t.AccountLink,{role:"button",class:"ui-btn-sm ui-btn-primary block my-1"},{default:M(()=>[K(E("Acessar minha conta"))]),_:1}),t.isLogged?D("",!0):(h(),N(t.AccountLink,{key:0,"is-sign-up":"",class:"ui-link block"},{default:M(()=>[K(E("Criar uma conta"))]),_:1}))]),g("ul",Fr,[O(t.MenuItem,{as:"li"},{default:M(({active:u})=>[O(t.AccountLink,{to:"orders",class:L(["block p-2",u?"bg-base-100 text-primary":null])},{default:M(()=>[K(E("Meus pedidos"))]),_:2},1032,["class"])]),_:1}),O(t.MenuItem,{as:"li"},{default:M(({active:u})=>[O(t.AccountLink,{to:"favorites",class:L(["block p-2",u?"bg-base-100 text-primary":null])},{default:M(()=>[Ar,K(" "+E("Meus favoritos"))]),_:2},1032,["class"])]),_:1}),(h(!0),S(j,null,W(r.serviceLinks,({title:u,href:i},b)=>(h(),N(t.MenuItem,{as:"li",key:`s-${b}`},{default:M(({active:p})=>[O(o,{href:i,class:L(["block p-2",p?"bg-base-100 text-primary":null])},{default:M(()=>[K(E(u),1)]),_:2},1032,["href","class"])]),_:2},1024))),128)),O(t.MenuItem,{as:"li"},{default:M(()=>[g("div",Lr,[(h(!0),S(j,null,W(t.socialNetworks,(u,i)=>(h(),S("span",{key:i},[O(t.SocialNetworkLink,{network:i,class:"p-1 hover:text-primary"},null,8,["network"])]))),128))])]),_:1}),t.isLogged?(h(),N(t.MenuItem,{key:0,as:"li"},{default:M(()=>[g("button",{onClick:n[1]||(n[1]=(...u)=>t.logout&&t.logout(...u)),class:"p-2 text-right text-base-800"},Dr)]),_:1})):D("",!0)])]),_:1})]),_:1})]),_:3})}const jr=V(Mr,[["render",Rr]]),Br=$({__name:"CartSidebar",setup(e,{expose:n}){n();const r={get freeShippingFromValue(){return Tt},get shoppingCart(){return yt},get totalItems(){return Be}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Hr={class:"flex flex-col h-full"},Vr={class:"px-6 py-4 flex justify-end items-center gap-3"},Ur=g("span",{class:"text-right text-base text-base-600 font-medium"},E("Meu carrinho de compras"),-1),Kr={class:"ui-badge-pill-lg"},Wr={class:"grow bg-base-50 border-t-2 border-b-2 border-base-100"},zr={key:0,class:"text-sm text-center"},Gr={key:0,class:"p-3 secondary-subtle"},Yr=g("strong",{class:"lowercase"},E("Frete grátis"),-1),qr={key:1,class:"p-3 bg-success-50 text-success-800"},Xr=g("i",{class:"text-success-900 i-check mr-1"},null,-1),Jr={class:"p-5"},Qr=g("footer",{class:"p-5 shadow"},null,-1);function Zr(e,n,r,t,a,l){return h(),S("aside",Hr,[g("header",Vr,[Ur,g("span",Kr,E(t.totalItems),1)]),g("article",Wr,[t.freeShippingFromValue?(h(),S("div",zr,[t.freeShippingFromValue>t.shoppingCart.subtotal?(h(),S("div",Gr,[K(E("Adicione $1 para ganhar".replace("$1",e.$money(t.freeShippingFromValue-t.shoppingCart.subtotal)))+" ",1),Yr])):(h(),S("div",qr,[Xr,K(" "+E("Frete grátis a partir de")+" "+E(e.$money(t.freeShippingFromValue)),1)]))])):D("",!0),g("ul",Jr,[(h(!0),S(j,null,W(t.shoppingCart.items,(o,s)=>(h(),S("li",{key:s}))),128))])]),Qr])}const ea=V(Br,[["render",Zr]]),ta=$({__name:"ShopHeader",props:{serviceLinks:{},categories:{},menuCategorySlugs:{},menuRandomCategories:{},isAlphabeticalSortSubmenu:{type:Boolean}},setup(e,{expose:n}){n();const r=e,t=x(null),{isSticky:a,positionY:l,categoryTrees:o,inlineMenuTrees:s}=Rt({...r,header:t}),c=x(!1),u=x(!1),i=x(!1),b=x(!1),p=x(0);oe(()=>{b.value=!0,ne(Be,(v,f)=>{f&&f<v&&(i.value=!0),p.value=v},{immediate:!0})});const d={props:r,header:t,isSticky:a,positionY:l,categoryTrees:o,inlineMenuTrees:s,isSidenavOpen:c,isSearchOpen:u,isCartOpen:i,isMounted:b,delayedTotalItems:p,Drawer:zt,ShopSidenav:Pn,ShopHeaderMenu:kr,SearchModal:Er,AccountMenu:jr,CartSidebar:ea};return Object.defineProperty(d,"__isScriptSetup",{enumerable:!1,value:!0}),d}}),na={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"},ra={class:"basis-1/4 lg:hidden"},aa={class:"basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"},oa=g("i",{class:"i-magnifying-glass w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"},null,-1),la=[oa],sa=g("i",{class:"i-shopping-bag w-7 h-7 group-hover:text-primary group-hover:scale-110 group-active:scale-125"},null,-1),ia={key:0,class:"ui-badge-pill-sm absolute -top-1 -right-1.5"};function ua(e,n,r,t,a,l){return h(),S("header",{ref:"header",class:L(["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"]])},[g("div",na,[g("div",ra,[g("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=o=>t.isSidenavOpen=!t.isSidenavOpen)},[g("i",{class:L(["text-base-500 text-3xl",t.isSidenavOpen?"i-close":"i-bars-3-bottom-left"])},null,2)])]),ee(e.$slots,"logo"),O(t.ShopHeaderMenu,Ce({class:"hidden lg:block"},{inlineMenuTrees:t.inlineMenuTrees}),null,16),g("div",aa,[g("button",{"aria-label":"Buscar produtos",onClick:n[1]||(n[1]=o=>t.isSearchOpen=!t.isSearchOpen)},la),O(t.AccountMenu,{"service-links":r.serviceLinks,class:"hidden sm:block"},{button:M(({open:o})=>[g("i",{class:L(["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"]),g("button",{"aria-label":"Abrir carrinho",onClick:n[2]||(n[2]=o=>t.isCartOpen=!t.isCartOpen),class:"relative group"},[sa,t.delayedTotalItems?(h(),S("span",ia,E(t.delayedTotalItems),1)):D("",!0)])])]),O(t.Drawer,{modelValue:t.isSidenavOpen,"onUpdate:modelValue":n[3]||(n[3]=o=>t.isSidenavOpen=o),"has-close-button":!1,position:"absolute",class:L(t.isSticky?"mt-2 md:mt-3":"mt-3 sm:mt-4 md:mt-5"),style:He({height:`calc(100vh - ${t.positionY}px + .5rem)`})},{default:M(()=>[O(t.ShopSidenav,Ce({class:"bg-white pt-6"},{categoryTrees:t.categoryTrees}),null,16)]),_:1},8,["modelValue","class","style"]),O(t.Drawer,{modelValue:t.isSearchOpen,"onUpdate:modelValue":n[4]||(n[4]=o=>t.isSearchOpen=o),"has-close-button":!1,placement:"top"},{default:M(()=>[O(t.SearchModal)]),_:1},8,["modelValue"]),t.isMounted?(h(),N(Ve,{key:0,to:"#teleported-overlap"},[O(t.Drawer,{modelValue:t.isCartOpen,"onUpdate:modelValue":n[5]||(n[5]=o=>t.isCartOpen=o),placement:"end","backdrop-target":"#teleported-overlap"},{default:M(()=>[O(t.CartSidebar)]),_:1},8,["modelValue"])])):D("",!0)],2)}const ma=V(ta,[["render",ua]]);export{ma as default};