cloudcommerce 0.22.0 → 0.22.2
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.
- package/.editorconfig +13 -0
- package/.gitmodules +3 -0
- package/.vscode/settings.json +2 -1
- package/CHANGELOG.md +28 -0
- package/ecomplus-stores/barra-doce/.devcontainer/devcontainer.json +30 -0
- package/ecomplus-stores/barra-doce/.editorconfig +13 -0
- package/ecomplus-stores/barra-doce/.eslintrc.cjs +3 -0
- package/ecomplus-stores/barra-doce/.firebaserc +5 -0
- package/ecomplus-stores/barra-doce/.github/build-and-deploy +1 -0
- package/ecomplus-stores/barra-doce/.github/renovate.json +5 -0
- package/ecomplus-stores/barra-doce/.github/workflows/build-and-deploy.yml +36 -0
- package/ecomplus-stores/barra-doce/.github/workflows/calibreapp-image-actions.yml +23 -0
- package/ecomplus-stores/barra-doce/.gitpod.yml +12 -0
- package/ecomplus-stores/barra-doce/.nvmrc +1 -0
- package/ecomplus-stores/barra-doce/.vscode/extensions.json +8 -0
- package/ecomplus-stores/barra-doce/.vscode/launch.json +11 -0
- package/ecomplus-stores/barra-doce/.vscode/settings.json +10 -0
- package/ecomplus-stores/barra-doce/LICENSE.md +230 -0
- package/ecomplus-stores/barra-doce/README.md +31 -0
- package/ecomplus-stores/barra-doce/SETUP.md +117 -0
- package/ecomplus-stores/{iluminim/README.pt-BR.md → barra-doce/SETUP.pt-BR.md} +5 -1
- package/ecomplus-stores/barra-doce/functions/config.json +3 -0
- package/ecomplus-stores/barra-doce/functions/example.env +10 -0
- package/ecomplus-stores/barra-doce/functions/many/index.js +14 -0
- package/ecomplus-stores/barra-doce/functions/many/package.json +22 -0
- package/ecomplus-stores/barra-doce/functions/ssr/.eslintrc.cjs +6 -0
- package/ecomplus-stores/barra-doce/functions/ssr/astro.config.mjs +4 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/blog/.gitkeep +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/extra-pages/.gitkeep +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/layout.json +37 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/pages/home.json +33 -0
- package/ecomplus-stores/barra-doce/functions/ssr/content/settings.json +48 -0
- package/ecomplus-stores/barra-doce/functions/ssr/index.js +18 -0
- package/ecomplus-stores/barra-doce/functions/ssr/package.json +31 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/admin/.gitkeep +2 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/assets/.gitkeep +2 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/icon.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/large-icon.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/banner-forma-decora.jpg +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/banner2.webp +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/headphone.webp +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/logo-barradoce.webp +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/logo.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/og-image.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/passion.webp +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/rect8589.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/rect859.png +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/img/uploads/rect89.webp +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/public/robots.txt +8 -0
- package/ecomplus-stores/barra-doce/functions/ssr/scripts/build.sh +14 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/assets/style.css +65 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/AccountMenu.vue +104 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/Banner.vue +64 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/BannersGrid.astro +25 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/CartSidebar.vue +35 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/HeroSlider.vue +51 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/PitchBar.vue +53 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/Prices.vue +96 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductCard.vue +117 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductShelf.vue +60 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/SearchModal.vue +6 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +136 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderMenu.vue +58 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderSubmenu.vue +88 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopSidenav.vue +61 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopSidenavCategory.vue +80 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/env.d.ts +13 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/Base.astro +15 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/Checkout.astro +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +38 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/main/Fallback.astro +10 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/main/Home.astro +29 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/main/Sections.astro +29 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/main/Wildcard.astro +18 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/[...slug].astro +40 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/_vue.ts +3 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/app/account.astro +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/app/index.astro +0 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/fallback.astro +25 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/pages/index.astro +35 -0
- package/ecomplus-stores/barra-doce/functions/ssr/src/scripts/InlineScripts.astro +10 -0
- package/ecomplus-stores/barra-doce/functions/ssr/tailwind.config.cjs +19 -0
- package/ecomplus-stores/barra-doce/functions/ssr/tsconfig.json +12 -0
- package/ecomplus-stores/barra-doce/functions/ssr/uno.config.cjs +5 -0
- package/ecomplus-stores/barra-doce/functions/with-apps/index.js +12 -0
- package/ecomplus-stores/barra-doce/functions/with-apps/package.json +22 -0
- package/ecomplus-stores/barra-doce/package.json +28 -0
- package/ecomplus-stores/barra-doce/scripts/install.sh +14 -0
- package/ecomplus-stores/iluminim/.editorconfig +13 -0
- package/ecomplus-stores/iluminim/README.md +11 -93
- package/ecomplus-stores/iluminim/SETUP.md +117 -0
- package/ecomplus-stores/iluminim/SETUP.pt-BR.md +117 -0
- package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
- package/ecomplus-stores/iluminim/functions/ssr/package.json +6 -6
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderSubmenu.vue +1 -1
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +2 -2
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenavCategory.vue +4 -2
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +6 -1
- package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
- package/ecomplus-stores/iluminim/package.json +1 -1
- package/package.json +6 -6
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +2 -2
- package/packages/apps/flash-courier/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/lib/build.js +15 -4
- package/packages/cli/lib/cli.js +3 -3
- package/packages/cli/package.json +1 -1
- package/packages/cli/src/build.ts +17 -4
- package/packages/cli/src/cli.ts +3 -3
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +1 -1
- package/packages/events/package.json +1 -1
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/i18n/lib/dirname.js +3 -1
- package/packages/i18n/lib/dirname.js.map +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/i18n/scripts/build-txt.mjs +2 -1
- package/packages/i18n/src/dirname.ts +3 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/package.json +2 -2
- package/packages/storefront/astro.config.mjs +2 -1
- package/packages/storefront/dist/client/_astro/HeroSlider.cea1f361.js +1 -0
- package/packages/storefront/dist/client/_astro/{ProductShelf.9e290480.js → ProductShelf.35614736.js} +1 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.dbe9c1f1.js +4 -0
- package/packages/storefront/dist/client/_astro/{_...slug_.c85b8978.css → _...slug_.c13e0486.css} +1 -1
- package/packages/storefront/dist/client/assets/.gitkeep +2 -0
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/{_...7e1df40a.mjs → _...fac94758.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/{account@_@astro.5f1dba7a.mjs → account@_@astro.460623ee.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/{astro.2d3ebf0f.mjs → astro.e0968ba7.mjs} +201 -156
- package/packages/storefront/dist/server/chunks/{endpoint@_@js.80de0568.mjs → endpoint@_@js.35380ea5.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/{fallback@_@astro.02a45b47.mjs → fallback@_@astro.dbc26d2d.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/{index@_@astro.7cb07e52.mjs → index@_@astro.c91e679e.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/{index@_@astro.23b50301.mjs → index@_@astro.fec107b9.mjs} +3 -3
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.4358f614.mjs → _...slug_.astro.2e2d4770.mjs} +81 -39
- package/packages/storefront/dist/server/chunks/pages/{account.astro.afae5a12.mjs → account.astro.0003ca94.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{endpoint.js.60fd21aa.mjs → endpoint.js.6f0f4ede.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{fallback.astro.e5566925.mjs → fallback.astro.fc8bc7e7.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/pages/{index.astro.5bc6b9d8.mjs → index.astro.03adcc55.mjs} +6 -6
- package/packages/storefront/dist/server/entry.mjs +9 -9
- package/packages/storefront/dist/server/renderers.mjs +2 -2
- package/packages/storefront/package.json +5 -5
- package/packages/storefront/src/lib/$storefront.d.ts +1 -0
- package/packages/storefront/src/lib/components/SharedData.astro +13 -0
- package/packages/storefront/src/lib/composables/use-prices.ts +1 -1
- package/packages/storefront/src/lib/composables/use-shop-header-submenu.ts +10 -1
- package/packages/storefront/src/lib/composables/use-shop-header.ts +13 -13
- package/packages/storefront/src/lib/layouts/BaseHead.astro +1 -1
- package/packages/storefront/src/lib/layouts/use-page-header.ts +14 -2
- package/packages/storefront/src/lib/ssr-context.ts +1 -0
- package/packages/types/package.json +1 -1
- package/pnpm-workspace.yaml +2 -0
- package/packages/storefront/dist/client/_astro/HeroSlider.0890631f.js +0 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.82ae97a5.js +0 -4
- package/packages/storefront/dist/client/assets/cms-preview.css +0 -274
- package/packages/storefront/dist/client/assets/cms.css +0 -114
- package/packages/storefront/dist/client/assets/cvv.png +0 -0
- package/packages/storefront/dist/client/assets/img-placeholder.png +0 -0
- package/packages/storefront/dist/client/assets/payments.png +0 -0
- package/packages/storefront/dist/client/assets/ssl-safe.png +0 -0
|
@@ -1,22 +1,33 @@
|
|
|
1
1
|
import { join as joinPath } from 'node:path';
|
|
2
2
|
import { $, fs } from 'zx';
|
|
3
3
|
|
|
4
|
-
const copyFunctionsConfig = async () => {
|
|
4
|
+
const copyFunctionsConfig = async (isDev = false) => {
|
|
5
5
|
const functionsDir = joinPath(process.cwd(), 'functions');
|
|
6
|
+
if (isDev && !fs.existsSync(joinPath(functionsDir, '.env'))) {
|
|
7
|
+
try {
|
|
8
|
+
const { storeId } = JSON.parse(fs.readFileSync(joinPath(functionsDir, 'config.json'), 'utf8'));
|
|
9
|
+
await fs.writeFile(joinPath(functionsDir, '.env'), `ECOM_STORE_ID=${storeId}\n`);
|
|
10
|
+
} catch {
|
|
11
|
+
//
|
|
12
|
+
}
|
|
13
|
+
}
|
|
6
14
|
const filesToCopy = ['.env', 'config.json', 'ssr/content/settings.json'];
|
|
7
15
|
const dirents = await fs.readdir(functionsDir, { withFileTypes: true });
|
|
16
|
+
/* eslint-disable no-await-in-loop */
|
|
8
17
|
for (let i = 0; i < dirents.length; i++) {
|
|
9
18
|
if (dirents[i].isDirectory() && dirents[i].name.charAt(0) !== '.') {
|
|
10
19
|
const codebase = dirents[i].name;
|
|
11
20
|
const codebaseDir = joinPath(functionsDir, codebase);
|
|
12
|
-
|
|
21
|
+
const isSSR = codebase === 'ssr';
|
|
13
22
|
await fs.ensureDir(joinPath(codebaseDir, 'content'));
|
|
23
|
+
if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'node_modules'))) {
|
|
24
|
+
await $`npm --prefix "functions/ssr" i`;
|
|
25
|
+
}
|
|
14
26
|
for (let ii = 0; ii < filesToCopy.length; ii++) {
|
|
15
27
|
const fileToCopy = filesToCopy[ii];
|
|
16
|
-
if (
|
|
28
|
+
if (!isSSR || !fileToCopy.includes('ssr/')) {
|
|
17
29
|
const srcPath = joinPath(functionsDir, fileToCopy);
|
|
18
30
|
if (fs.existsSync(srcPath) && srcPath) {
|
|
19
|
-
// eslint-disable-next-line no-await-in-loop
|
|
20
31
|
await fs.copy(srcPath, joinPath(codebaseDir, fileToCopy.replace('ssr/', '')));
|
|
21
32
|
}
|
|
22
33
|
}
|
package/packages/cli/lib/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import {
|
|
4
4
|
$, argv, fs, echo, chalk,
|
|
@@ -11,7 +11,7 @@ import createGhSecrets from './setup-gh.js';
|
|
|
11
11
|
const { FIREBASE_PROJECT_ID, GOOGLE_APPLICATION_CREDENTIALS, GITHUB_TOKEN } = process.env;
|
|
12
12
|
// https://github.com/google/zx/issues/124
|
|
13
13
|
process.env.FORCE_COLOR = '3';
|
|
14
|
-
const __dirname =
|
|
14
|
+
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
15
15
|
const pwd = process.cwd();
|
|
16
16
|
let projectId = FIREBASE_PROJECT_ID;
|
|
17
17
|
if (projectId) {
|
|
@@ -146,7 +146,7 @@ Finish by saving the following secrets to your GitHub repository:
|
|
|
146
146
|
`;
|
|
147
147
|
}
|
|
148
148
|
if (argv._.includes('dev') || !argv._.length) {
|
|
149
|
-
await prepareCodebases();
|
|
149
|
+
await prepareCodebases(true);
|
|
150
150
|
return $`npm --prefix "${path.join(pwd, 'functions/ssr')}" run dev`;
|
|
151
151
|
}
|
|
152
152
|
return $`echo 'Hello from @cloudcommerce/cli'`;
|
|
@@ -1,22 +1,35 @@
|
|
|
1
1
|
import { join as joinPath } from 'node:path';
|
|
2
2
|
import { $, fs } from 'zx';
|
|
3
3
|
|
|
4
|
-
const copyFunctionsConfig = async () => {
|
|
4
|
+
const copyFunctionsConfig = async (isDev = false) => {
|
|
5
5
|
const functionsDir = joinPath(process.cwd(), 'functions');
|
|
6
|
+
if (isDev && !fs.existsSync(joinPath(functionsDir, '.env'))) {
|
|
7
|
+
try {
|
|
8
|
+
const { storeId } = JSON.parse(
|
|
9
|
+
fs.readFileSync(joinPath(functionsDir, 'config.json'), 'utf8'),
|
|
10
|
+
);
|
|
11
|
+
await fs.writeFile(joinPath(functionsDir, '.env'), `ECOM_STORE_ID=${storeId}\n`);
|
|
12
|
+
} catch {
|
|
13
|
+
//
|
|
14
|
+
}
|
|
15
|
+
}
|
|
6
16
|
const filesToCopy = ['.env', 'config.json', 'ssr/content/settings.json'];
|
|
7
17
|
const dirents = await fs.readdir(functionsDir, { withFileTypes: true });
|
|
18
|
+
/* eslint-disable no-await-in-loop */
|
|
8
19
|
for (let i = 0; i < dirents.length; i++) {
|
|
9
20
|
if (dirents[i].isDirectory() && dirents[i].name.charAt(0) !== '.') {
|
|
10
21
|
const codebase = dirents[i].name;
|
|
11
22
|
const codebaseDir = joinPath(functionsDir, codebase);
|
|
12
|
-
|
|
23
|
+
const isSSR = codebase === 'ssr';
|
|
13
24
|
await fs.ensureDir(joinPath(codebaseDir, 'content'));
|
|
25
|
+
if (isDev && isSSR && !fs.existsSync(joinPath(functionsDir, 'node_modules'))) {
|
|
26
|
+
await $`npm --prefix "functions/ssr" i`;
|
|
27
|
+
}
|
|
14
28
|
for (let ii = 0; ii < filesToCopy.length; ii++) {
|
|
15
29
|
const fileToCopy = filesToCopy[ii];
|
|
16
|
-
if (
|
|
30
|
+
if (!isSSR || !fileToCopy.includes('ssr/')) {
|
|
17
31
|
const srcPath = joinPath(functionsDir, fileToCopy);
|
|
18
32
|
if (fs.existsSync(srcPath) && srcPath) {
|
|
19
|
-
// eslint-disable-next-line no-await-in-loop
|
|
20
33
|
await fs.copy(
|
|
21
34
|
srcPath,
|
|
22
35
|
joinPath(codebaseDir, fileToCopy.replace('ssr/', '')),
|
package/packages/cli/src/cli.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import {
|
|
4
4
|
$,
|
|
@@ -21,7 +21,7 @@ const {
|
|
|
21
21
|
// https://github.com/google/zx/issues/124
|
|
22
22
|
process.env.FORCE_COLOR = '3';
|
|
23
23
|
|
|
24
|
-
const __dirname =
|
|
24
|
+
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
25
25
|
const pwd = process.cwd();
|
|
26
26
|
|
|
27
27
|
let projectId = FIREBASE_PROJECT_ID;
|
|
@@ -179,7 +179,7 @@ Finish by saving the following secrets to your GitHub repository:
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
if (argv._.includes('dev') || !argv._.length) {
|
|
182
|
-
await prepareCodebases();
|
|
182
|
+
await prepareCodebases(true);
|
|
183
183
|
return $`npm --prefix "${path.join(pwd, 'functions/ssr')}" run dev`;
|
|
184
184
|
}
|
|
185
185
|
return $`echo 'Hello from @cloudcommerce/cli'`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dirname.js","sourceRoot":"","sources":["../src/dirname.ts"],"names":[],"mappings":"AAAA,eAAe,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"dirname.js","sourceRoot":"","sources":["../src/dirname.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAe,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
/* eslint-disable no-console, no-await-in-loop, import/no-unresolved */
|
|
3
3
|
/* global $ */
|
|
4
4
|
import 'zx/globals';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
5
6
|
import all from '../lib/all.js';
|
|
6
7
|
|
|
7
|
-
const __dirname = new URL('.', import.meta.url)
|
|
8
|
+
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
8
9
|
$.cwd = __dirname;
|
|
9
10
|
$.verbose = false;
|
|
10
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/ssr",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.22.
|
|
4
|
+
"version": "0.22.2",
|
|
5
5
|
"description": "E-Com Plus Cloud Commerce storefront SSR",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@ecomplus/utils": "1.5.0-rc.5",
|
|
31
31
|
"@headlessui/vue": "^1.7.14",
|
|
32
32
|
"@vueuse/core": "10.2.1",
|
|
33
|
-
"astro": "2.9.
|
|
33
|
+
"astro": "2.9.2",
|
|
34
34
|
"firebase-admin": "^11.10.1",
|
|
35
35
|
"firebase-functions": "^4.4.1",
|
|
36
36
|
"semver": "^7.5.4",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
1
2
|
import { lstatSync, readFileSync } from 'node:fs';
|
|
2
3
|
import { join as joinPath } from 'node:path';
|
|
3
4
|
import * as dotenv from 'dotenv';
|
|
@@ -10,7 +11,7 @@ import AstroPWA from '@vite-pwa/astro';
|
|
|
10
11
|
import dictionaryDir from '@cloudcommerce/i18n/lib/dirname';
|
|
11
12
|
import getConfig from './config/storefront.config.mjs';
|
|
12
13
|
|
|
13
|
-
const __dirname = new URL('.', import.meta.url)
|
|
14
|
+
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
14
15
|
dotenv.config();
|
|
15
16
|
|
|
16
17
|
const isSSG = process.env.BUILD_OUTPUT === 'static';
|
|
@@ -0,0 +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};
|
package/packages/storefront/dist/client/_astro/{ProductShelf.9e290480.js → ProductShelf.35614736.js}
RENAMED
|
@@ -1 +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 I,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.62c97a79.js";import{d as $,e as ee,g as te,l as ne,h as ae,w as re}from"./index.b93f3d06.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||""),r=O(t.titleLink||""),e=O(!1);let m=null;const s=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),s.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 p=`offset=${t.page?(t.page-1)*v:0}&limit=${v}`;t.sort&&(p+=`&sort=${t.sort}`),p+=_;try{const{data:l}=await D.get(`search/v1?${p}`);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),s.value=l}e.value=!1})()),{title:n,titleLink:r,isFetching:e,fetching:m,fetchError:s,products:u}},he=t=>{const n=O(!1);let r=null;const e=O(null),{productId:m}=t,s=q({...t.product,_id:t.product?._id||m,price:A(t.product||{})});!t.product&&m&&(n.value=!0,r=(async()=>{try{const{data:a}=await D.get(`products/${m}`);Object.assign(s,a)}catch(a){console.error(a),e.value=a}n.value=!1})());const u=d(()=>le(s)),_=d(()=>{const{slug:a}=s;return typeof a=="string"?`/${a}`:null}),b=d(()=>{const{pictures:a}=s,k=[];return a&&a.forEach(C=>{const P=oe(C);P&&k.push(P)}),k}),v=d(()=>W(s)),w=d(()=>v.value&&s.available&&s.visible),p=d(()=>{if(F(s)){const a=s.base_price;return Math.round((a-A(s))*100/a)}return 0}),l=d(()=>s.has_variations?!0:!!s.variations?.length);return{isFetching:n,fetching:r,fetchError:e,product:s,title:u,link:_,images:b,isInStock:v,isActive:w,discountPercentage:p,hasVariations:l}},z=(t,n)=>{const{type:r,value:e}=n;let m;return e?(r==="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}),r=d(()=>{const{variations:o}=n.value;if(o){const y=A(n.value);for(let L=0;L<o.length;L++)if(A({...n.value,...o[L]})>y)return!0}return!1}),e=d(()=>{const o=A(n.value),y=$.value;return y&&(!y.min_amount||o>y.min_amount)?z(o,y):o}),m=d(()=>{if(F(n.value))return n.value.base_price;const o=A(n.value);return o>e.value?o:0}),s=d(()=>t.installmentsOption||ee.value||{max_number:1}),u=d(()=>{if(s.value.max_number<=1)return 1;const o=s.value.min_installment||5,y=Math.round(e.value/o);return Math.min(y,s.value.max_number)}),_=d(()=>s.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}`:""}),p=d(()=>z(e.value,v.value)),l=d(()=>{if(t.loyaltyPointsProgram)return t.loyaltyPointsProgram;const o=ne.value;if(o){const y=Object.keys(o);for(let L=0;L<y.length;L++){const V=o[y[L]];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:r,salePrice:e,comparePrice:m,installmentsObject:s,installmentsNumber:u,monthlyInterest:_,installmentValue:b,discountObject:v,discountLabel:w,priceWithDiscount:p,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 r=t,{hasVariedPrices:e,salePrice:m,comparePrice:s,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:p,discountLabel:l}=_e(r),a={props:r,hasVariedPrices:e,salePrice:m,comparePrice:s,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:p,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},pe={key:0},ye={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},Ie={key:1},Le={key:2},Se={key:0},Ae={key:0},Ve={key:1};function je(t,n,r,e,m,s){const u=M("Fade");return i(),c("div",{class:B(["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]",r.isBig?"text-lg":null]),"data-prices":""},[e.comparePrice?(i(),c("span",ge,[r.isLiteral?(i(),c("small",ve,h("De "))):f("",!0),g("s",null,h(t.$money(e.comparePrice)),1),r.isLiteral?(i(),c("small",be,h(" Por"))):f("",!0)])):f("",!0),g("strong",{class:B(["inline-block text-base-800",r.isBig?"text-5xl block":null])},[e.hasVariedPrices?(i(),c("small",pe,h("A partir de "))):f("",!0),S(" "+h(t.$money(e.salePrice)),1)],2),x(u,{slide:"down"},{default:I(()=>[e.cashbackValue&&r.hasCashback?(i(),c("div",ye,[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:I(()=>[e.installmentValue&&r.hasPriceOptions?(i(),c("div",Ce,[r.isLiteral?(i(),c("small",Oe,h("Até "))):f("",!0),S(" "+h(e.installmentsNumber)+"x ",1),r.isLiteral?(i(),c("small",Ie,h(" De "))):f("",!0),g("span",null,h(t.$money(e.installmentValue)),1),!e.monthlyInterest&&r.isLiteral?(i(),c("small",Le,h("Sem juros"))):f("",!0)])):f("",!0)]),_:1}),x(u,{slide:"down"},{default:I(()=>[e.priceWithDiscount<e.salePrice&&r.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 r=t,{product:e,title:m,link:s,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w}=he({product:r.product,productId:r.productId}),p=O(null),l=ae(p),a=O(!1);re(l,()=>{a.value=!0});const k={props:r,product:e,title:m,link:s,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w,card:p,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("i",{class:"i-plus-20-solid mr-0.5"},null,-1);function Re(t,n,r,e,m,s){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:I(()=>[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(r.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:I(()=>[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 r=t,{title:e,titleLink:m,fetching:s,products:u}=me(r),_={props:r,title:e,titleLink:m,fetching:s,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,r,e,m,s){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:I(()=>[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:I(()=>[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:I(()=>[(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};
|
|
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 I,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.62c97a79.js";import{d as $,e as ee,g as te,l as ne,h as ae,w as re}from"./index.b93f3d06.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||""),r=O(t.titleLink||""),e=O(!1);let m=null;const s=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),s.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 p=`offset=${t.page?(t.page-1)*v:0}&limit=${v}`;t.sort&&(p+=`&sort=${t.sort}`),p+=_;try{const{data:l}=await D.get(`search/v1?${p}`);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),s.value=l}e.value=!1})()),{title:n,titleLink:r,isFetching:e,fetching:m,fetchError:s,products:u}},he=t=>{const n=O(!1);let r=null;const e=O(null),{productId:m}=t,s=q({...t.product,_id:t.product?._id||m,price:A(t.product||{})});!t.product&&m&&(n.value=!0,r=(async()=>{try{const{data:a}=await D.get(`products/${m}`);Object.assign(s,a)}catch(a){console.error(a),e.value=a}n.value=!1})());const u=d(()=>le(s)),_=d(()=>{const{slug:a}=s;return typeof a=="string"?`/${a}`:null}),b=d(()=>{const{pictures:a}=s,k=[];return a&&a.forEach(C=>{const P=oe(C);P&&k.push(P)}),k}),v=d(()=>W(s)),w=d(()=>v.value&&s.available&&s.visible),p=d(()=>{if(F(s)){const a=s.base_price;return Math.round((a-A(s))*100/a)}return 0}),l=d(()=>s.has_variations?!0:!!s.variations?.length);return{isFetching:n,fetching:r,fetchError:e,product:s,title:u,link:_,images:b,isInStock:v,isActive:w,discountPercentage:p,hasVariations:l}},z=(t,n)=>{const{type:r,value:e}=n;let m;return e?(r==="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}),r=d(()=>{const{variations:o}=n.value;if(o){const y=A(n.value);for(let L=0;L<o.length;L++)if(A({...n.value,...o[L]})>y)return!0}return!1}),e=d(()=>{const o=A(n.value),y=$.value;return y&&(!y.min_amount||o>y.min_amount)?z(o,y):o}),m=d(()=>{if(F(n.value))return n.value.base_price;const o=A(n.value);return o>e.value?o:0}),s=d(()=>t.installmentsOption||ee.value||{max_number:1}),u=d(()=>{if(s.value.max_number<=1)return 1;const o=s.value.min_installment||5,y=Math.floor(e.value/o);return Math.min(y,s.value.max_number)}),_=d(()=>s.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}`:""}),p=d(()=>z(e.value,v.value)),l=d(()=>{if(t.loyaltyPointsProgram)return t.loyaltyPointsProgram;const o=ne.value;if(o){const y=Object.keys(o);for(let L=0;L<y.length;L++){const V=o[y[L]];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:r,salePrice:e,comparePrice:m,installmentsObject:s,installmentsNumber:u,monthlyInterest:_,installmentValue:b,discountObject:v,discountLabel:w,priceWithDiscount:p,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 r=t,{hasVariedPrices:e,salePrice:m,comparePrice:s,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:p,discountLabel:l}=_e(r),a={props:r,hasVariedPrices:e,salePrice:m,comparePrice:s,cashbackPercentage:u,cashbackValue:_,installmentsNumber:b,monthlyInterest:v,installmentValue:w,priceWithDiscount:p,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},pe={key:0},ye={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},Ie={key:1},Le={key:2},Se={key:0},Ae={key:0},Ve={key:1};function je(t,n,r,e,m,s){const u=M("Fade");return i(),c("div",{class:B(["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]",r.isBig?"text-lg":null]),"data-prices":""},[e.comparePrice?(i(),c("span",ge,[r.isLiteral?(i(),c("small",ve,h("De "))):f("",!0),g("s",null,h(t.$money(e.comparePrice)),1),r.isLiteral?(i(),c("small",be,h(" Por"))):f("",!0)])):f("",!0),g("strong",{class:B(["inline-block text-base-800",r.isBig?"text-5xl block":null])},[e.hasVariedPrices?(i(),c("small",pe,h("A partir de "))):f("",!0),S(" "+h(t.$money(e.salePrice)),1)],2),x(u,{slide:"down"},{default:I(()=>[e.cashbackValue&&r.hasCashback?(i(),c("div",ye,[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:I(()=>[e.installmentValue&&r.hasPriceOptions?(i(),c("div",Ce,[r.isLiteral?(i(),c("small",Oe,h("Até "))):f("",!0),S(" "+h(e.installmentsNumber)+"x ",1),r.isLiteral?(i(),c("small",Ie,h(" De "))):f("",!0),g("span",null,h(t.$money(e.installmentValue)),1),!e.monthlyInterest&&r.isLiteral?(i(),c("small",Le,h("Sem juros"))):f("",!0)])):f("",!0)]),_:1}),x(u,{slide:"down"},{default:I(()=>[e.priceWithDiscount<e.salePrice&&r.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 r=t,{product:e,title:m,link:s,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w}=he({product:r.product,productId:r.productId}),p=O(null),l=ae(p),a=O(!1);re(l,()=>{a.value=!0});const k={props:r,product:e,title:m,link:s,images:u,isInStock:_,isActive:b,discountPercentage:v,hasVariations:w,card:p,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("i",{class:"i-plus-20-solid mr-0.5"},null,-1);function Re(t,n,r,e,m,s){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:I(()=>[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(r.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:I(()=>[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 r=t,{title:e,titleLink:m,fetching:s,products:u}=me(r),_={props:r,title:e,titleLink:m,fetching:s,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,r,e,m,s){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:I(()=>[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:I(()=>[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:I(()=>[(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 yt,a as wt,s as xt,t as Ve}from"./api.4984c5be.js";import{u as St,a as kt,b as Pt,c as It,i as Tt,f as Et}from"./index.b93f3d06.js";import{j as w,c as x,k as ne,l as ae,_ as V,d as L,t as Mt,m as Z,o as b,g as N,w as M,a as P,n as $,p as Ue,b as g,q as Ot,u as ee,i as D,T as Ke,e as O,h as Ct,x as E,F as B,r as G,y as K,z as Ft,A as J,B as se,C as de,D as X,E as oe,G as Ie,H as We,I as ze,J as Oe,K as Ce}from"./_plugin-vue_export-helper.4cb7dd76.js";import{_ as At}from"./preload-helper.cf010ec4.js";import"./session-utm.744b0db3.js";const $t=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=$t,Nt=e=>{const{header:n,canSetStyles:r,canCreateHeightDiv:t,isShownOnScrollDown:o}={canSetStyles:!0,canCreateHeightDiv:!0,...e},{ready:l,start:a}=St(100,{controls:!0,immediate:!1}),s=w(0),c=w(0);let u;const{y:i}=kt(document),h=x(()=>l.value&&i.value>c.value*1.2),p=w("none");ne(h,async v=>{r&&n.value&&(n.value.style.position=v?"sticky":""),u&&(u.style.height=v?`${s.value}px`:""),v?(await Pt(300),p.value="opacity var(--transition-slow), transform var(--transition)"):(a(),p.value="none")});const f=w(!1);return ne(i,(v,d)=>{f.value=v>0&&v<d}),ae(()=>{if(!n.value)throw new Error("<header> (props.header) not set");const v=()=>{const S=n.value;s.value=S.offsetHeight,c.value=s.value+window.pageYOffset+S.getBoundingClientRect().top,a()},d=n.value.getElementsByTagName("IMG");let _=!0;for(let S=0;S<d.length;S++){const I=d[S];(!I.complete||I.naturalHeight===0)&&(_=!1,I.onload=v)}_&&v(),window.addEventListener("resize",It(v,300)),r&&(n.value.style.willChange="transform",ne([h,f],([S,I])=>{let k="",F="";S&&(!I||o)&&(k="0",F="translateY(-100%)");const y=n.value;y.style.opacity=k,y.style.transform=F}),ne(p,S=>{n.value.style.transition=S})),t&&(u=document.createElement("div"),n.value.parentElement?.insertBefore(u,n.value))}),{staticHeight:s,staticY:c,isSticky:h,isScrollUp:f,transition:p}},Dt=(e,n)=>{const r=e.filter(({name:t,slug:o,parent:l})=>t&&o&&!l);return n?.length&&r.sort((t,o)=>{const l=n.indexOf(t.slug),a=n.indexOf(o.slug);return l>-1?a===-1||l<a?-1:1:a>-1?1:0}),r},Rt=(e,n,r=!1)=>{const t=e.filter(({name:o,slug:l,parent:a})=>o&&l&&a?a._id&&a._id===n._id||a.slug&&a.slug===n.slug:!1);return r&&t.sort((o,l)=>o.name<l.name?-1:1),t},jt=({header:e,categories:n=globalThis.$storefront.data.categories||[],menuCategorySlugs:r,menuRandomCategories:t=7,isAlphabeticalSortSubmenu:o})=>{const{isSticky:l,staticHeight:a,staticY:s}=Nt({header:e}),c=x(()=>l.value?e.value?.offsetHeight:s.value),u=Dt(n,r),i=d=>Rt(n,d,!!o),h=d=>({...d,subcategories:i(d).map(_=>h(_))}),p=u.map(h);let f=0;const v=p.filter(({slug:d})=>r?.includes(d)?!0:f<t?(f+=1,!0):!1);return{isSticky:l,staticHeight:a,staticY:s,positionY:c,mainCategories:u,getSubcategories:i,getCategoryTree:h,categoryTrees:p,inlineMenuTrees:v}},Bt=L({__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,o=()=>r("update:modelValue",!1),l=w(null),a=f=>{l.value?.contains(f.target)||o()},s=f=>{f.key==="Escape"&&o()},c=w(0);ne(Mt(t,"modelValue"),async f=>{f?(c.value=window.innerWidth-document.documentElement.clientWidth,document.body.style.overflow="hidden",document.body.style.paddingRight=`${c.value}px`,setTimeout(()=>{document.addEventListener("click",a,{passive:!0}),document.addEventListener("keydown",s,{passive:!0})},500)):(document.body.style.overflow="",document.body.style.paddingRight="",document.removeEventListener("click",a),document.removeEventListener("keydown",s))});const u=x(()=>{switch(t.placement){case"start":return"left";case"end":return"right";case"top":return"down";default:return"up"}}),i=x(()=>t.position==="fixed"),h=x(()=>t.placement==="start"||t.placement==="end"),p={props:t,emit:r,close:o,drawer:l,outsideClickListener:a,escClickListener:s,scrollbarWidth:c,slideTo:u,isFixed:i,isPlacementX:h};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Ht=["open","data-drawer"],Vt={class:"relative h-full"},Ut=["onClick"],Kt=g("i",{class:"i-close text-base-400 text-3xl"},null,-1),Wt={key:0,class:"fixed top-0 left-0 w-screen h-screen bg-black/50 z-40","data-drawer-backdrop":""};function zt(e,n,r,t,o,l){const a=Z("Fade");return b(),N(a,{slide:t.slideTo,speed:"slow","is-floating":""},{default:M(()=>[r.modelValue?(b(),P("dialog",{key:0,ref:"drawer",class:$(["w-screen shadow p-0 m-0 z-50",[r.position,t.isFixed?`top-0 ${t.isPlacementX?"h-screen":""}`:null,t.isFixed&&r.placement!=="end"?"left-0":null,t.isFixed&&r.placement==="end"?"left-auto right-0":null,t.isPlacementX?"max-w-sm":null]]),style:Ue({maxWidth:t.isPlacementX?void 0:`calc(100vw - ${t.scrollbarWidth}px)`}),open:r.modelValue,"data-drawer":r.placement},[g("div",Vt,[r.hasCloseButton?(b(),P("button",{key:0,type:"button","aria-label":"Fechar",onClick:Ot(t.close,["prevent"]),class:$(["absolute top-2",r.placement==="end"?"left-2":"right-2"]),"data-drawer-close":""},[ee(e.$slots,"close",{},()=>[Kt])],10,Ut)):D("",!0),ee(e.$slots,"default")]),(b(),N(Ke,{to:r.backdropTarget},[O(a,null,{default:M(()=>[r.modelValue?(b(),P("div",Wt)):D("",!0)]),_:1})],8,["to"]))],14,Ht)):D("",!0)]),_:3},8,["slide"])}const Gt=V(Bt,[["render",zt]]),Ge="ecomSession",ke={customer:{display_name:"",main_email:""},auth:null},H=yt(Ge,ke),Te=x(()=>{const{auth:e}=H;return e&&new Date(e.expires).getTime()-Date.now()>1e3*10}),Ye=x(()=>H.customer),me=x(()=>Lt(Ye.value)),Fe=x({get(){return Ye.value.main_email},set(e){H.customer.main_email=e}});let re;const Xe=x(()=>Te.value||!!re?.currentUser?.emailVerified),Ee=()=>{H.auth=ke.auth,H.customer=ke.customer,localStorage.removeItem(Ge),re.signOut()},qe=(e="Not authenticated")=>{const n=new Error(e);throw n.isNoAuth=!0,n},Je=async()=>{const e=await re.currentUser?.getIdToken();if(!e){qe("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)}},Yt=async()=>(Te.value||await Je(),H.auth?H.auth.access_token:qe()),Xt=async()=>{const e=await Yt(),n=H.auth,{data:r}=await wt.get(`customers/${n.customer_id}`,{accessToken:e});return H.customer=r,r};let Ae=!1;const Qe=(e=!window.location.pathname.startsWith("/app/"))=>{if(Ae)return;Ae=!0;const n=()=>At(()=>import("./firebase-app.84207480.js"),[]).then(({getAuth:r,onAuthStateChanged:t,isSignInWithEmailLink:o,signInWithEmailLink:l})=>{if(re=r(),t(re,async a=>{if(a){if(a.displayName&&!me.value&&(H.customer.display_name=a.displayName),a.email&&(!Fe.value||a.emailVerified)&&(H.customer.main_email=a.email),a.emailVerified){const s=a.email!==Fe.value;(s||!Te.value)&&(await Je(),(s||!me.value)&&await Xt())}}else Ee()}),o(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?Tt(n):n()},{settings:$e,apiContext:_o}=globalThis.$storefront,qt=["whatsapp","instagram","facebook","twitter","youtube","tiktok","pinterest"],be={};qt.forEach(e=>{$e[e]&&(be[e]=$e[e])});const Jt=L({__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=x(()=>{let l=r.accountUrl;if(!r.to)return r.isSignUp?l+="?sign_up&":l+="?",`${l}return_url=${r.returnUrl}`;const{settings:a}=globalThis.$storefront;return r.to==="orders"&&a.orders_url?a.orders_url:r.to==="favorites"&&a.favorites_url?a.favorites_url:`${l}/${r.to}`}),o={props:r,href:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),Qt=["href"];function Zt(e,n,r,t,o,l){return b(),P("a",{href:t.href},[ee(e.$slots,"default")],8,Qt)}const Ze=V(Jt,[["render",Zt]]);let ie;ie=navigator.userAgent,document.body?document.body.offsetWidth:window.screen.width;ie.includes("Safari")&&ie.includes("Chrome");const en=/iPad|iPhone|iPod/.test(ie)&&!window.MSStream,tn=en||/Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(ie),nn=L({__name:"SocialNetworkIcon",props:{as:{default:"i"},network:{}},setup(e,{expose:n}){n();const r=e,t=x(()=>{switch(r.network){case"facebook":return"i-facebook";case"instagram":return"i-instagram";case"whatsapp":return"i-whatsapp";case"youtube":return"i-youtube";case"pinterest":return"i-pinterest";case"tiktok":return"i-tiktok";case"twitter":return"i-twitter";default:return""}}),o={props:r,iconClassName:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function rn(e,n,r,t,o,l){return b(),N(Ct(r.as),{class:$(t.iconClassName)},null,8,["class"])}const on=V(nn,[["render",rn]]),an=L({__name:"SocialNetworkLink",props:{network:{},href:{},message:{}},setup(e,{expose:n}){n();const r=e,t=x(()=>{let l=r.href||be[r.network]||"";if(r.network==="whatsapp"){const a=l.replace(/[^+\d]/g,"");l=`https://${tn?"api":"web"}.whatsapp.com/send?phone=`+encodeURIComponent(a.charAt(0)==="+"?a:`+55${a}`),r.message&&(l+=`&text=${encodeURIComponent(r.message)}`)}return l}),o={props:r,fixedHref:t,SocialNetworkIcon:on};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function ln(e,n,r,t,o,l){const a=Z("ALink");return b(),N(a,{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 et=V(an,[["render",ln]]),sn=L({__name:"ShopSidenavCategory",props:{categoryTree:{}},setup(e,{expose:n}){n();const r=w(!1),t=w(!0);ne(r,l=>{l?setTimeout(()=>{t.value=!1},25):t.value=!0});const o={isOpen:r,isFaded:t};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),un={class:"text-lg text-base-800"},cn=["href"],dn=["href"],fn={class:"inline"};function pn(e,n,r,t,o,l){const a=Z("AImg"),s=Z("ShopSidenavCategory",!0);return b(),P("li",un,[r.categoryTree.subcategories.length?(b(),P("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:$(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[g("i",{class:$(t.isOpen?"i-arrow-left text-lg":"i-arrow-right float-right mb-0 mt-1 text-xl text-base-500")},null,2),!t.isOpen&&r.categoryTree.icon?(b(),N(a,{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:$(["inline",t.isOpen?"ml-4 text-base":null])},E(r.categoryTree.name),3)],2),g("ul",{class:$(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(b(!0),P(B,null,G(r.categoryTree.subcategories,(c,u)=>(b(),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,cn)])],2)],32)):(b(),P("a",{key:1,href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 active:bg-base-200"},[!t.isOpen&&r.categoryTree.icon?(b(),N(a,{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",fn,E(r.categoryTree.name),1)],8,dn))])}const vn=V(sn,[["render",pn]]),mn=L({__name:"ShopSidenav",props:{categoryTrees:{}},setup(e,{expose:n}){n(),ae(()=>Qe());const r={get customerName(){return me},get isLogged(){return Xe},get logout(){return Ee},get socialNetworks(){return be},AccountLink:Ze,SocialNetworkLink:et,ShopSidenavCategory:vn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),gn={class:"flex flex-col h-full"},hn={class:"py-4 grow"},bn={class:"relative h-full"},_n={class:"text-base"},yn={class:"flex items-center px-2 py-4 bg-base-100"},wn=g("i",{class:"i-user-circle text-4xl text-base-500 m-0"},null,-1),xn={class:"leading-tight"},Sn=g("small",{class:"block lowercase font-semibold text-primary"},E("Meus pedidos")+", "+E("Minha conta"),-1),kn=g("span",{class:"text-base-600"},E("Sair"),-1),Pn=g("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),In=[kn,Pn],Tn={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function En(e,n,r,t,o,l){return b(),P("aside",gn,[g("nav",hn,[g("ul",bn,[(b(!0),P(B,null,G(r.categoryTrees,(a,s)=>(b(),N(t.ShopSidenavCategory,{key:s,"category-tree":a},null,8,["category-tree"]))),128))])]),g("footer",_n,[g("div",yn,[O(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:M(()=>[wn,g("span",xn,[K(E(`Olá ${t.customerName||"Visitante"}`)+" ",1),Sn])]),_:1}),t.isLogged?(b(),P("button",{key:0,onClick:n[0]||(n[0]=(...a)=>t.logout&&t.logout(...a)),class:"p-2 text-right text-base-800"},In)):D("",!0)]),g("ul",Tn,[(b(!0),P(B,null,G(t.socialNetworks,(a,s)=>(b(),P("li",{key:s},[O(t.SocialNetworkLink,{network:s,class:"p-1 active:text-primary"},null,8,["network"])]))),128))])])])}const Mn=V(mn,[["render",En]]);function W(e,n,...r){if(e in n){let o=n[e];return typeof o=="function"?o(...r):o}let t=new Error(`Tried to handle "${e}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map(o=>`"${o}"`).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,W),t}var ue=(e=>(e[e.None=0]="None",e[e.RenderStrategy=1]="RenderStrategy",e[e.Static=2]="Static",e))(ue||{}),On=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(On||{});function te({visible:e=!0,features:n=0,ourProps:r,theirProps:t,...o}){var l;let a=nt(t,r),s=Object.assign(o,{props:a});if(e||n&2&&a.static)return Se(s);if(n&1){let c=(l=a.unmount)==null||l?0:1;return W(c,{0(){return null},1(){return Se({...o,props:{...a,hidden:!0,style:{display:"none"}}})}})}return Se(s)}function Se({props:e,attrs:n,slots:r,slot:t,name:o}){var l,a;let{as:s,...c}=Cn(e,["unmount","static"]),u=(l=r.default)==null?void 0:l.call(r,t),i={};if(t){let h=!1,p=[];for(let[f,v]of Object.entries(t))typeof v=="boolean"&&(h=!0),v===!0&&p.push(f);h&&(i["data-headlessui-state"]=p.join(" "))}if(s==="template"){if(u=tt(u??[]),Object.keys(c).length>0||Object.keys(n).length>0){let[h,...p]=u??[];if(!Fn(h)||p.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${o} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(c).concat(Object.keys(n)).map(d=>d.trim()).filter((d,_,S)=>S.indexOf(d)===_).sort((d,_)=>d.localeCompare(_)).map(d=>` - ${d}`).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(d=>` - ${d}`).join(`
|
|
3
|
+
`)].join(`
|
|
4
|
+
`));let f=nt((a=h.props)!=null?a:{},c),v=Ft(h,f);for(let d in f)d.startsWith("on")&&(v.props||(v.props={}),v.props[d]=f[d]);return v}return Array.isArray(u)&&u.length===1?u[0]:u}return J(s,Object.assign({},c,i),{default:()=>u})}function tt(e){return e.flatMap(n=>n.type===B?tt(n.children):[n])}function nt(...e){if(e.length===0)return{};if(e.length===1)return e[0];let n={},r={};for(let t of e)for(let o in t)o.startsWith("on")&&typeof t[o]=="function"?(r[o]!=null||(r[o]=[]),r[o].push(t[o])):n[o]=t[o];if(n.disabled||n["aria-disabled"])return Object.assign(n,Object.fromEntries(Object.keys(r).map(t=>[t,void 0])));for(let t in r)Object.assign(n,{[t](o,...l){let a=r[t];for(let s of a){if(o instanceof Event&&o.defaultPrevented)return;s(o,...l)}}});return n}function Cn(e,n=[]){let r=Object.assign({},e);for(let t of n)t in r&&delete r[t];return r}function Fn(e){return e==null?!1:typeof e.type=="string"||typeof e.type=="object"||typeof e.type=="function"}let An=0;function $n(){return++An}function Q(){return $n()}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 Ln(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 Nn(e,n){let r=n.resolveItems();if(r.length<=0)return null;let t=n.resolveActiveIndex(),o=t??-1,l=(()=>{switch(e.focus){case 0:return r.findIndex(a=>!n.resolveDisabled(a));case 1:{let a=r.slice().reverse().findIndex((s,c,u)=>o!==-1&&u.length-c-1>=o?!1:!n.resolveDisabled(s));return a===-1?a:r.length-1-a}case 2:return r.findIndex((a,s)=>s<=o?!1:!n.resolveDisabled(a));case 3:{let a=r.slice().reverse().findIndex(s=>!n.resolveDisabled(s));return a===-1?a:r.length-1-a}case 4:return r.findIndex(a=>n.resolveId(a)===e.id);case 5:return null;default:Ln(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 rt=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 ot(){return se(rt,null)}function at(e){de(rt,e)}function Le(e,n){if(e)return e;let r=n??"button";if(typeof r=="string"&&r.toLowerCase()==="button")return"button"}function lt(e,n){let r=w(Le(e.value.type,e.value.as));return ae(()=>{r.value=Le(e.value.type,e.value.as)}),X(()=>{var t;r.value||m(n)&&m(n)instanceof HTMLButtonElement&&!((t=m(n))!=null&&t.hasAttribute("type"))&&(r.value="button")}),r}var Dn=Object.defineProperty,Rn=(e,n,r)=>n in e?Dn(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,Ne=(e,n,r)=>(Rn(e,typeof n!="symbol"?n+"":n,r),r);class jn{constructor(){Ne(this,"current",this.detect()),Ne(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 _e=new jn;function le(e){if(_e.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 Bn({container:e,accept:n,walk:r,enabled:t}){X(()=>{let o=e.value;if(!o||t!==void 0&&!t.value)return;let l=le(e);if(!l)return;let a=Object.assign(c=>n(c),{acceptNode:n}),s=l.createTreeWalker(o,NodeFilter.SHOW_ELEMENT,a,!1);for(;s.nextNode();)r(s.currentNode)})}let Pe=["[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||{}),Hn=(e=>(e[e.Previous=-1]="Previous",e[e.Next=1]="Next",e))(Hn||{});function fe(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Pe)).sort((n,r)=>Math.sign((n.tabIndex||Number.MAX_SAFE_INTEGER)-(r.tabIndex||Number.MAX_SAFE_INTEGER)))}var ye=(e=>(e[e.Strict=0]="Strict",e[e.Loose=1]="Loose",e))(ye||{});function we(e,n=0){var r;return e===((r=le(e))==null?void 0:r.body)?!1:W(n,{0(){return e.matches(Pe)},1(){let t=e;for(;t!==null;){if(t.matches(Pe))return!0;t=t.parentElement}return!1}})}function st(e){let n=le(e);oe(()=>{n&&!we(n.activeElement,0)&&Un(e)})}var Vn=(e=>(e[e.Keyboard=0]="Keyboard",e[e.Mouse=1]="Mouse",e))(Vn||{});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 Un(e){e?.focus({preventScroll:!0})}let Kn=["textarea","input"].join(",");function Wn(e){var n,r;return(r=(n=e?.matches)==null?void 0:n.call(e,Kn))!=null?r:!1}function it(e,n=r=>r){return e.slice().sort((r,t)=>{let o=n(r),l=n(t);if(o===null||l===null)return 0;let a=o.compareDocumentPosition(l);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function zn(e,n){return q(fe(),n,{relativeTo:e})}function q(e,n,{sorted:r=!0,relativeTo:t=null,skipElements:o=[]}={}){var l;let a=(l=Array.isArray(e)?e.length>0?e[0].ownerDocument:document:e?.ownerDocument)!=null?l:document,s=Array.isArray(e)?r?it(e):e:fe(e);o.length>0&&s.length>1&&(s=s.filter(v=>!o.includes(v))),t=t??a.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}:{},h=0,p=s.length,f;do{if(h>=p||h+p<=0)return 0;let v=u+h;if(n&16)v=(v+p)%p;else{if(v<0)return 3;if(v>=p)return 1}f=s[v],f?.focus(i),h+=c}while(f!==a.activeElement);return n&6&&Wn(f)&&f.select(),2}function De(e,n,r){_e.isServer||X(t=>{document.addEventListener(e,n,r),t(()=>document.removeEventListener(e,n,r))})}function ut(e,n,r){_e.isServer||X(t=>{window.addEventListener(e,n,r),t(()=>window.removeEventListener(e,n,r))})}function ct(e,n,r=x(()=>!0)){function t(l,a){if(!r.value||l.defaultPrevented)return;let s=a(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!we(s,ye.Loose)&&s.tabIndex!==-1&&l.preventDefault(),n(l,s)}let o=w(null);De("mousedown",l=>{var a,s;r.value&&(o.value=((s=(a=l.composedPath)==null?void 0:a.call(l))==null?void 0:s[0])||l.target)},!0),De("click",l=>{o.value&&(t(l,()=>o.value),o.value=null)},!0),ut("blur",l=>t(l,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}var ce=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(ce||{});let he=L({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup(e,{slots:n,attrs:r}){return()=>{let{features:t,...o}=e,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:o,slot:{},attrs:r,slots:n,name:"Hidden"})}}});function Re(e){return[e.screenX,e.screenY]}function Gn(){let e=w([-1,-1]);return{wasMoved(n){let r=Re(n);return e.value[0]===r[0]&&e.value[1]===r[1]?!1:(e.value=r,!0)},update(n){e.value=Re(n)}}}var z=(e=>(e[e.Forwards=0]="Forwards",e[e.Backwards=1]="Backwards",e))(z||{});function dt(){let e=w(0);return ut("keydown",n=>{n.key==="Tab"&&(e.value=n.shiftKey?1:0)}),e}function Yn(e,n,r,t){_e.isServer||X(o=>{e=e??window,e.addEventListener(n,r,t),o(()=>e.removeEventListener(n,r,t))})}let je=Symbol("PortalParentContext");function Xn(){let e=se(je,null),n=w([]);function r(l){return n.value.push(l),e&&e.register(l),()=>t(l)}function t(l){let a=n.value.indexOf(l);a!==-1&&n.value.splice(a,1),e&&e.unregister(l)}let o={register:r,unregister:t,portals:n};return[n,L({name:"PortalWrapper",setup(l,{slots:a}){return de(je,o),()=>{var s;return(s=a.default)==null?void 0:s.call(a)}}})]}function qn({defaultContainers:e=[],portals:n}={}){let r=w(null),t=le(r);function o(){var l;let a=[];for(let s of e)s!==null&&(s instanceof HTMLElement?a.push(s):"value"in s&&s.value instanceof HTMLElement&&a.push(s.value));if(n!=null&&n.value)for(let s of n.value)a.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))||a.some(c=>s.contains(c))||a.push(s));return a}return{resolveContainers:o,contains(l){return o().some(a=>a.contains(l))},mainTreeNodeRef:r,MainTreeNode(){return J(he,{features:ce.Hidden,ref:r})}}}let Be=/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g;function He(e){var n,r;let t=(n=e.innerText)!=null?n:"",o=e.cloneNode(!0);if(!(o instanceof HTMLElement))return t;let l=!1;for(let s of o.querySelectorAll('[hidden],[aria-hidden],[role="img"]'))s.remove(),l=!0;let a=l?(r=o.innerText)!=null?r:"":t;return Be.test(a)&&(a=a.replace(Be,"")),a}function Jn(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(o=>{let l=document.getElementById(o);if(l){let a=l.getAttribute("aria-label");return typeof a=="string"?a.trim():He(l).trim()}return null}).filter(Boolean);if(t.length>0)return t.join(", ")}return He(e).trim()}function Qn(e){let n=w(""),r=w("");return()=>{let t=m(e);if(!t)return"";let o=t.innerText;if(n.value===o)return r.value;let l=Jn(t).trim().toLowerCase();return n.value=o,r.value=l,l}}var Zn=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(Zn||{}),er=(e=>(e[e.Pointer=0]="Pointer",e[e.Other=1]="Other",e))(er||{});function tr(e){requestAnimationFrame(()=>requestAnimationFrame(e))}let ft=Symbol("MenuContext");function xe(e){let n=se(ft,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <Menu /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,xe),r}return n}let nr=L({name:"Menu",props:{as:{type:[Object,String],default:"template"}},setup(e,{slots:n,attrs:r}){let t=w(1),o=w(null),l=w(null),a=w([]),s=w(""),c=w(null),u=w(1);function i(p=f=>f){let f=c.value!==null?a.value[c.value]:null,v=it(p(a.value.slice()),_=>m(_.dataRef.domRef)),d=f?v.indexOf(f):null;return d===-1&&(d=null),{items:v,activeItemIndex:d}}let h={menuState:t,buttonRef:o,itemsRef:l,items:a,searchQuery:s,activeItemIndex:c,activationTrigger:u,closeMenu:()=>{t.value=1,c.value=null},openMenu:()=>t.value=0,goToItem(p,f,v){let d=i(),_=Nn(p===R.Specific?{focus:R.Specific,id:f}:{focus:p},{resolveItems:()=>d.items,resolveActiveIndex:()=>d.activeItemIndex,resolveId:S=>S.id,resolveDisabled:S=>S.dataRef.disabled});s.value="",c.value=_,u.value=v??1,a.value=d.items},search(p){let f=s.value!==""?0:1;s.value+=p.toLowerCase();let v=(c.value!==null?a.value.slice(c.value+f).concat(a.value.slice(0,c.value+f)):a.value).find(_=>_.dataRef.textValue.startsWith(s.value)&&!_.dataRef.disabled),d=v?a.value.indexOf(v):-1;d===-1||d===c.value||(c.value=d,u.value=1)},clearSearch(){s.value=""},registerItem(p,f){let v=i(d=>[...d,{id:p,dataRef:f}]);a.value=v.items,c.value=v.activeItemIndex,u.value=1},unregisterItem(p){let f=i(v=>{let d=v.findIndex(_=>_.id===p);return d!==-1&&v.splice(d,1),v});a.value=f.items,c.value=f.activeItemIndex,u.value=1}};return ct([o,l],(p,f)=>{var v;h.closeMenu(),we(f,ye.Loose)||(p.preventDefault(),(v=m(o))==null||v.focus())},x(()=>t.value===0)),de(ft,h),at(x(()=>W(t.value,{0:Y.Open,1:Y.Closed}))),()=>{let p={open:t.value===0,close:h.closeMenu};return te({ourProps:{},theirProps:e,slot:p,slots:n,attrs:r,name:"Menu"})}}}),rr=L({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 o=xe("MenuButton");t({el:o.buttonRef,$el:o.buttonRef});function l(u){switch(u.key){case A.Space:case A.Enter:case A.ArrowDown:u.preventDefault(),u.stopPropagation(),o.openMenu(),oe(()=>{var i;(i=m(o.itemsRef))==null||i.focus({preventScroll:!0}),o.goToItem(R.First)});break;case A.ArrowUp:u.preventDefault(),u.stopPropagation(),o.openMenu(),oe(()=>{var i;(i=m(o.itemsRef))==null||i.focus({preventScroll:!0}),o.goToItem(R.Last)});break}}function a(u){switch(u.key){case A.Space:u.preventDefault();break}}function s(u){e.disabled||(o.menuState.value===0?(o.closeMenu(),oe(()=>{var i;return(i=m(o.buttonRef))==null?void 0:i.focus({preventScroll:!0})})):(u.preventDefault(),o.openMenu(),tr(()=>{var i;return(i=m(o.itemsRef))==null?void 0:i.focus({preventScroll:!0})})))}let c=lt(x(()=>({as:e.as,type:n.type})),o.buttonRef);return()=>{var u;let i={open:o.menuState.value===0},{id:h,...p}=e,f={ref:o.buttonRef,id:h,type:c.value,"aria-haspopup":"menu","aria-controls":(u=m(o.itemsRef))==null?void 0:u.id,"aria-expanded":e.disabled?void 0:o.menuState.value===0,onKeydown:l,onKeyup:a,onClick:s};return te({ourProps:f,theirProps:p,slot:i,attrs:n,slots:r,name:"MenuButton"})}}}),or=L({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 o=xe("MenuItems"),l=w(null);t({el:o.itemsRef,$el:o.itemsRef}),Bn({container:x(()=>m(o.itemsRef)),enabled:x(()=>o.menuState.value===0),accept(i){return i.getAttribute("role")==="menuitem"?NodeFilter.FILTER_REJECT:i.hasAttribute("role")?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(i){i.setAttribute("role","none")}});function a(i){var h;switch(l.value&&clearTimeout(l.value),i.key){case A.Space:if(o.searchQuery.value!=="")return i.preventDefault(),i.stopPropagation(),o.search(i.key);case A.Enter:if(i.preventDefault(),i.stopPropagation(),o.activeItemIndex.value!==null){let p=o.items.value[o.activeItemIndex.value];(h=m(p.dataRef.domRef))==null||h.click()}o.closeMenu(),st(m(o.buttonRef));break;case A.ArrowDown:return i.preventDefault(),i.stopPropagation(),o.goToItem(R.Next);case A.ArrowUp:return i.preventDefault(),i.stopPropagation(),o.goToItem(R.Previous);case A.Home:case A.PageUp:return i.preventDefault(),i.stopPropagation(),o.goToItem(R.First);case A.End:case A.PageDown:return i.preventDefault(),i.stopPropagation(),o.goToItem(R.Last);case A.Escape:i.preventDefault(),i.stopPropagation(),o.closeMenu(),oe(()=>{var p;return(p=m(o.buttonRef))==null?void 0:p.focus({preventScroll:!0})});break;case A.Tab:i.preventDefault(),i.stopPropagation(),o.closeMenu(),oe(()=>zn(m(o.buttonRef),i.shiftKey?U.Previous:U.Next));break;default:i.key.length===1&&(o.search(i.key),l.value=setTimeout(()=>o.clearSearch(),350));break}}function s(i){switch(i.key){case A.Space:i.preventDefault();break}}let c=ot(),u=x(()=>c!==null?(c.value&Y.Open)===Y.Open:o.menuState.value===0);return()=>{var i,h;let p={open:o.menuState.value===0},{id:f,...v}=e,d={"aria-activedescendant":o.activeItemIndex.value===null||(i=o.items.value[o.activeItemIndex.value])==null?void 0:i.id,"aria-labelledby":(h=m(o.buttonRef))==null?void 0:h.id,id:f,onKeydown:a,onKeyup:s,role:"menu",tabIndex:0,ref:o.itemsRef};return te({ourProps:d,theirProps:v,slot:p,attrs:n,slots:r,features:ue.RenderStrategy|ue.Static,visible:u.value,name:"MenuItems"})}}}),ar=L({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 o=xe("MenuItem"),l=w(null);t({el:l,$el:l});let a=x(()=>o.activeItemIndex.value!==null?o.items.value[o.activeItemIndex.value].id===e.id:!1),s=Qn(l),c=x(()=>({disabled:e.disabled,get textValue(){return s()},domRef:l}));ae(()=>o.registerItem(e.id,c)),Ie(()=>o.unregisterItem(e.id)),X(()=>{o.menuState.value===0&&a.value&&o.activationTrigger.value!==0&&oe(()=>{var d,_;return(_=(d=m(l))==null?void 0:d.scrollIntoView)==null?void 0:_.call(d,{block:"nearest"})})});function u(d){if(e.disabled)return d.preventDefault();o.closeMenu(),st(m(o.buttonRef))}function i(){if(e.disabled)return o.goToItem(R.Nothing);o.goToItem(R.Specific,e.id)}let h=Gn();function p(d){h.update(d)}function f(d){h.wasMoved(d)&&(e.disabled||a.value||o.goToItem(R.Specific,e.id,0))}function v(d){h.wasMoved(d)&&(e.disabled||a.value&&o.goToItem(R.Nothing))}return()=>{let{disabled:d}=e,_={active:a.value,disabled:d,close:o.closeMenu},{id:S,...I}=e;return te({ourProps:{id:S,ref:l,role:"menuitem",tabIndex:d===!0?void 0:-1,"aria-disabled":d===!0?!0:void 0,disabled:void 0,onClick:u,onFocus:i,onPointerenter:p,onMouseenter:p,onPointermove:f,onMousemove:f,onPointerleave:v,onMouseleave:v},theirProps:{...r,...I},slot:_,attrs:r,slots:n,name:"MenuItem"})}}});var lr=(e=>(e[e.Open=0]="Open",e[e.Closed=1]="Closed",e))(lr||{});let pt=Symbol("PopoverContext");function Me(e){let n=se(pt,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <${gt.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Me),r}return n}let sr=Symbol("PopoverGroupContext");function vt(){return se(sr,null)}let mt=Symbol("PopoverPanelContext");function ir(){return se(mt,null)}let gt=L({name:"Popover",props:{as:{type:[Object,String],default:"div"}},setup(e,{slots:n,attrs:r,expose:t}){var o;let l=w(null);t({el:l,$el:l});let a=w(1),s=w(null),c=w(null),u=w(null),i=w(null),h=x(()=>le(l)),p=x(()=>{var y,T;if(!m(s)||!m(i))return!1;for(let ve of document.querySelectorAll("body > *"))if(Number(ve?.contains(m(s)))^Number(ve?.contains(m(i))))return!0;let C=fe(),j=C.indexOf(m(s)),pe=(j+C.length-1)%C.length,ht=(j+1)%C.length,bt=C[pe],_t=C[ht];return!((y=m(i))!=null&&y.contains(bt))&&!((T=m(i))!=null&&T.contains(_t))}),f={popoverState:a,buttonId:w(null),panelId:w(null),panel:i,button:s,isPortalled:p,beforePanelSentinel:c,afterPanelSentinel:u,togglePopover(){a.value=W(a.value,{0:1,1:0})},closePopover(){a.value!==1&&(a.value=1)},close(y){f.closePopover();let T=(()=>y?y instanceof HTMLElement?y:y.value instanceof HTMLElement?m(y):m(f.button):m(f.button))();T?.focus()}};de(pt,f),at(x(()=>W(a.value,{0:Y.Open,1:Y.Closed})));let v={buttonId:f.buttonId,panelId:f.panelId,close(){f.closePopover()}},d=vt(),_=d?.registerPopover,[S,I]=Xn(),k=qn({portals:S,defaultContainers:[s,i]});function F(){var y,T,C,j;return(j=d?.isFocusWithinPopoverGroup())!=null?j:((y=h.value)==null?void 0:y.activeElement)&&(((T=m(s))==null?void 0:T.contains(h.value.activeElement))||((C=m(i))==null?void 0:C.contains(h.value.activeElement)))}return X(()=>_?.(v)),Yn((o=h.value)==null?void 0:o.defaultView,"focus",y=>{var T,C;y.target!==window&&y.target instanceof HTMLElement&&a.value===0&&(F()||s&&i&&(k.contains(y.target)||(T=m(f.beforePanelSentinel))!=null&&T.contains(y.target)||(C=m(f.afterPanelSentinel))!=null&&C.contains(y.target)||f.closePopover()))},!0),ct(k.resolveContainers,(y,T)=>{var C;f.closePopover(),we(T,ye.Loose)||(y.preventDefault(),(C=m(s))==null||C.focus())},x(()=>a.value===0)),()=>{let y={open:a.value===0,close:f.close};return J(I,{},()=>te({theirProps:{...e,...r},ourProps:{ref:l},slot:y,slots:n,attrs:r,name:"Popover"}))}}}),ur=L({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 o=Me("PopoverButton"),l=x(()=>le(o.button));t({el:o.button,$el:o.button}),ae(()=>{o.buttonId.value=e.id}),Ie(()=>{o.buttonId.value=null});let a=vt(),s=a?.closeOthers,c=ir(),u=x(()=>c===null?!1:c.value===o.panelId.value),i=w(null),h=`headlessui-focus-sentinel-${Q()}`;u.value||X(()=>{o.button.value=i.value});let p=lt(x(()=>({as:e.as,type:n.type})),i);function f(k){var F,y,T,C,j;if(u.value){if(o.popoverState.value===1)return;switch(k.key){case A.Space:case A.Enter:k.preventDefault(),(y=(F=k.target).click)==null||y.call(F),o.closePopover(),(T=m(o.button))==null||T.focus();break}}else switch(k.key){case A.Space:case A.Enter:k.preventDefault(),k.stopPropagation(),o.popoverState.value===1&&s?.(o.buttonId.value),o.togglePopover();break;case A.Escape:if(o.popoverState.value!==0)return s?.(o.buttonId.value);if(!m(o.button)||(C=l.value)!=null&&C.activeElement&&!((j=m(o.button))!=null&&j.contains(l.value.activeElement)))return;k.preventDefault(),k.stopPropagation(),o.closePopover();break}}function v(k){u.value||k.key===A.Space&&k.preventDefault()}function d(k){var F,y;e.disabled||(u.value?(o.closePopover(),(F=m(o.button))==null||F.focus()):(k.preventDefault(),k.stopPropagation(),o.popoverState.value===1&&s?.(o.buttonId.value),o.togglePopover(),(y=m(o.button))==null||y.focus()))}function _(k){k.preventDefault(),k.stopPropagation()}let S=dt();function I(){let k=m(o.panel);if(!k)return;function F(){W(S.value,{[z.Forwards]:()=>q(k,U.First),[z.Backwards]:()=>q(k,U.Last)})===ge.Error&&q(fe().filter(y=>y.dataset.headlessuiFocusGuard!=="true"),W(S.value,{[z.Forwards]:U.Next,[z.Backwards]:U.Previous}),{relativeTo:m(o.button)})}F()}return()=>{let k=o.popoverState.value===0,F={open:k},{id:y,...T}=e,C=u.value?{ref:i,type:p.value,onKeydown:f,onClick:d}:{ref:i,id:y,type:p.value,"aria-expanded":e.disabled?void 0:o.popoverState.value===0,"aria-controls":m(o.panel)?o.panelId.value:void 0,disabled:e.disabled?!0:void 0,onKeydown:f,onKeyup:v,onClick:d,onMousedown:_};return J(B,[te({ourProps:C,theirProps:{...n,...T},slot:F,attrs:n,slots:r,name:"PopoverButton"}),k&&!u.value&&o.isPortalled.value&&J(he,{id:h,features:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:I})])}}}),cr=L({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:o}=e,l=Me("PopoverPanel"),a=x(()=>le(l.panel)),s=`headlessui-focus-sentinel-before-${Q()}`,c=`headlessui-focus-sentinel-after-${Q()}`;t({el:l.panel,$el:l.panel}),ae(()=>{l.panelId.value=e.id}),Ie(()=>{l.panelId.value=null}),de(mt,l.panelId),X(()=>{var _,S;if(!o||l.popoverState.value!==0||!l.panel)return;let I=(_=a.value)==null?void 0:_.activeElement;(S=m(l.panel))!=null&&S.contains(I)||q(m(l.panel),U.First)});let u=ot(),i=x(()=>u!==null?(u.value&Y.Open)===Y.Open:l.popoverState.value===0);function h(_){var S,I;switch(_.key){case A.Escape:if(l.popoverState.value!==0||!m(l.panel)||a.value&&!((S=m(l.panel))!=null&&S.contains(a.value.activeElement)))return;_.preventDefault(),_.stopPropagation(),l.closePopover(),(I=m(l.button))==null||I.focus();break}}function p(_){var S,I,k,F,y;let T=_.relatedTarget;T&&m(l.panel)&&((S=m(l.panel))!=null&&S.contains(T)||(l.closePopover(),((k=(I=m(l.beforePanelSentinel))==null?void 0:I.contains)!=null&&k.call(I,T)||(y=(F=m(l.afterPanelSentinel))==null?void 0:F.contains)!=null&&y.call(F,T))&&T.focus({preventScroll:!0})))}let f=dt();function v(){let _=m(l.panel);if(!_)return;function S(){W(f.value,{[z.Forwards]:()=>{var I;q(_,U.First)===ge.Error&&((I=m(l.afterPanelSentinel))==null||I.focus())},[z.Backwards]:()=>{var I;(I=m(l.button))==null||I.focus({preventScroll:!0})}})}S()}function d(){let _=m(l.panel);if(!_)return;function S(){W(f.value,{[z.Forwards]:()=>{let I=m(l.button),k=m(l.panel);if(!I)return;let F=fe(),y=F.indexOf(I),T=F.slice(0,y+1),C=[...F.slice(y+1),...T];for(let j of C.slice())if(j.dataset.headlessuiFocusGuard==="true"||k!=null&&k.contains(j)){let pe=C.indexOf(j);pe!==-1&&C.splice(pe,1)}q(C,U.First,{sorted:!1})},[z.Backwards]:()=>{var I;q(_,U.Previous)===ge.Error&&((I=m(l.button))==null||I.focus())}})}S()}return()=>{let _={open:l.popoverState.value===0,close:l.close},{id:S,focus:I,...k}=e,F={ref:l.panel,id:S,onKeydown:h,onFocusout:o&&l.popoverState.value===0?p:void 0,tabIndex:-1};return te({ourProps:F,theirProps:{...n,...k},attrs:n,slot:_,slots:{...r,default:(...y)=>{var T;return[J(B,[i.value&&l.isPortalled.value&&J(he,{id:s,ref:l.beforePanelSentinel,features:ce.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:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:d})])]}},features:ue.RenderStrategy|ue.Static,visible:i.value,name:"PopoverPanel"})}}});const dr=e=>{const n=x(()=>{const c=e.categoryTree.pictures?.[0];if(c&&!c.alt)return{alt:e.categoryTree.name,...c}}),r=x(()=>e.categoryTree.subcategories.filter(({subcategories:c})=>c.length)),t=x(()=>{let c=r.value.length;return n.value&&(c+=1),r.value.length<e.categoryTree.subcategories.length&&(c+=1),c}),o=x(()=>(e.megaMenuMaxCols||7)>=t.value),l=x(()=>o.value?e.categoryTree.subcategories.filter(({subcategories:c})=>!c.length):e.categoryTree.subcategories),a=x(()=>o.value?e.categoryTree.subcategories.filter(({subcategories:c})=>c.length):e.categoryTree.subcategories),s=x(()=>o.value?t.value:n.value?2:1);return{categoryPicture:n,isMegaMenu:o,subcategoryLinks:l,subcategoryCols:a,countMenuCols:s}},fr=L({__name:"ShopHeaderSubmenu",props:{categoryTree:{},megaMenuMaxCols:{}},setup(e,{expose:n}){n();const r=e,{categoryPicture:t,subcategoryLinks:o,subcategoryCols:l,countMenuCols:a}=dr(r),s={props:r,categoryPicture:t,subcategoryLinks:o,subcategoryCols:l,countMenuCols:a,get Popover(){return gt},get PopoverButton(){return ur},get PopoverPanel(){return cr}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}}),pr={class:"relative"},vr={class:"flex gap-6 w-full"},mr={key:0,class:"flex-1"},gr=["href"],hr=["href"],br={class:"text-sm text-base-600 mt-1 mb-1.5"},_r=["href"],yr=["href"];function wr(e,n,r,t,o,l){const a=Z("AImg"),s=Z("Fade");return b(),N(t.Popover,null,{default:M(({open:c})=>[O(t.PopoverButton,{class:"outline-none"},{default:M(()=>[ee(e.$slots,"button",We(ze({open:c})))]),_:2},1024),g("div",pr,[O(s,null,{default:M(()=>[O(t.PopoverPanel,{class:$(["absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform px-6 py-4 rounded backdrop-blur-md shadow bg-white/80 text-base text-base-700",t.countMenuCols===1?"w-60":t.countMenuCols===2?`w-screen ${t.categoryPicture?"max-w-lg":"max-w-sm"}`:t.countMenuCols===3?`w-screen ${t.categoryPicture?"max-w-xl":"max-w-md"}`:t.countMenuCols<6?"w-screen max-w-3xl":"w-screen max-w-5xl"])},{default:M(()=>[g("div",vr,[t.subcategoryLinks.length?(b(),P("ul",mr,[(b(!0),P(B,null,G(t.subcategoryLinks,(u,i)=>(b(),P("li",{key:`link-${i}`,class:$(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,gr)],2))),128))])):D("",!0),(b(!0),P(B,null,G(t.subcategoryCols,(u,i)=>(b(),P("div",{key:i,class:"flex-1"},[g("a",{href:`/${u.slug}`,class:"hover:text-primary"},[g("h3",null,E(u.name),1)],8,hr),g("ul",br,[(b(!0),P(B,null,G(u.subcategories,(h,p)=>(b(),P("li",{key:`${i}-${p}`,class:"mb-0.5"},[g("a",{href:`/${h.slug}`,class:"hover:text-primary hover:underline"},[g("h3",null,E(h.name),1)],8,_r)]))),128))])]))),128)),t.categoryPicture?(b(),P("div",{key:1,class:$(t.countMenuCols===2?"basis-1/2":t.countMenuCols<5?"basis-2/5":"basis-1/3")},[O(a,{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,yr)]),_:1},8,["class"])]),_:1})])]),_:3})}const xr=V(fr,[["render",wr]]),Sr=L({__name:"ShopHeaderMenu",props:{inlineMenuTrees:{}},setup(e,{expose:n}){n();const r=e,t=x(()=>!!r.inlineMenuTrees.find(({subcategories:l})=>!l.length)),o={props:r,hasOneLevelSubcategories:t,ShopHeaderSubmenu:xr};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),kr={class:"hover:text-primary group"},Pr=["href"],Ir={class:"inline"};function Tr(e,n,r,t,o,l){return b(),P("nav",null,[g("ul",{class:$(["flex gap-4 xl:gap-5 text-base-700",r.inlineMenuTrees.length<7?"text-base":"text-sm"])},[(b(!0),P(B,null,G(r.inlineMenuTrees,(a,s)=>(b(),P("li",{key:s},[a.subcategories.length?(b(),N(t.ShopHeaderSubmenu,{key:0,"category-tree":a},{button:M(({open:c})=>[g("span",kr,[g("h3",{class:$(["group-hover:underline inline",[r.inlineMenuTrees.length<7?"decoration-2":null,c?"underline":null]])},E(a.name),3),t.hasOneLevelSubcategories?(b(),P("i",{key:0,class:$(["i-chevron-down ml-1 transition-transform text-base-400 group-hover:text-primary-subtle",c?"rotate-180":null])},null,2)):D("",!0)])]),_:2},1032,["category-tree"])):(b(),P("a",{key:1,href:`/${a.slug}`,class:$(["hover:text-primary hover:underline",r.inlineMenuTrees.length<7?"decoration-2":null])},[g("h3",Ir,E(a.name),1)],10,Pr))]))),128))],2)])}const Er=V(Sr,[["render",Tr]]),Mr={},Or={class:"w-full h-40 bg-base-300"};function Cr(e,n){return b(),P("div",Or)}const Fr=V(Mr,[["render",Cr]]),Ar=L({__name:"AccountMenu",props:{serviceLinks:{}},setup(e,{expose:n}){n();const r={get Menu(){return nr},get MenuButton(){return rr},get MenuItems(){return or},get MenuItem(){return ar},get socialNetworks(){return be},get customerName(){return me},get initializeFirebaseAuth(){return Qe},get isLogged(){return Xe},get logout(){return Ee},AccountLink:Ze,SocialNetworkLink:et};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),$r={key:0},Lr={class:"p-3 text-base-600"},Nr={class:"list-none"},Dr=g("i",{class:"i-heart mr-1"},null,-1),Rr={class:"flex justify-center gap-2 p-2 text-base-500 text-base"},jr=g("span",{class:"text-base-600"},E("Sair"),-1),Br=g("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),Hr=[jr,Br];function Vr(e,n,r,t,o,l){const a=Z("ALink"),s=Z("Fade");return b(),N(t.Menu,{as:"div",class:"relative text-center text-sm text-base-800"},{default:M(({open:c})=>[c?(b(),P("div",$r,[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"},{default:M(()=>[ee(e.$slots,"button",We(ze({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",Lr,[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):(b(),N(t.AccountLink,{key:0,"is-sign-up":"",class:"ui-link block"},{default:M(()=>[K(E("Criar uma conta"))]),_:1}))]),g("ul",Nr,[O(t.MenuItem,{as:"li"},{default:M(({active:u})=>[O(t.AccountLink,{to:"orders",class:$(["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:$(["block p-2",u?"bg-base-100 text-primary":null])},{default:M(()=>[Dr,K(" "+E("Meus favoritos"))]),_:2},1032,["class"])]),_:1}),(b(!0),P(B,null,G(r.serviceLinks,({title:u,href:i},h)=>(b(),N(t.MenuItem,{as:"li",key:`s-${h}`},{default:M(({active:p})=>[O(a,{href:i,class:$(["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",Rr,[(b(!0),P(B,null,G(t.socialNetworks,(u,i)=>(b(),P("span",{key:i},[O(t.SocialNetworkLink,{network:i,class:"p-1 hover:text-primary"},null,8,["network"])]))),128))])]),_:1}),t.isLogged?(b(),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"},Hr)]),_:1})):D("",!0)])]),_:1})]),_:1})]),_:3})}const Ur=V(Ar,[["render",Vr]]),Kr=L({__name:"CartSidebar",setup(e,{expose:n}){n();const r={get freeShippingFromValue(){return Et},get shoppingCart(){return xt},get totalItems(){return Ve}};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),Wr={class:"flex flex-col h-full"},zr={class:"px-6 py-4 flex justify-end items-center gap-3"},Gr=g("span",{class:"text-right text-base text-base-600 font-medium"},E("Meu carrinho de compras"),-1),Yr={class:"ui-badge-pill-lg"},Xr={class:"grow bg-base-50 border-t-2 border-b-2 border-base-100"},qr={key:0,class:"text-sm text-center"},Jr={key:0,class:"p-3 secondary-subtle"},Qr=g("strong",{class:"lowercase"},E("Frete grátis"),-1),Zr={key:1,class:"p-3 bg-success-50 text-success-800"},eo=g("i",{class:"text-success-900 i-check mr-1"},null,-1),to=g("footer",{class:"p-5 shadow"},null,-1);function no(e,n,r,t,o,l){return b(),P("aside",Wr,[g("header",zr,[Gr,g("span",Yr,E(t.totalItems),1)]),g("article",Xr,[t.freeShippingFromValue?(b(),P("div",qr,[t.freeShippingFromValue>t.shoppingCart.subtotal?(b(),P("div",Jr,[K(E("Adicione $1 para ganhar".replace("$1",e.$money(t.freeShippingFromValue-t.shoppingCart.subtotal)))+" ",1),Qr])):(b(),P("div",Zr,[eo,K(" "+E("Frete grátis a partir de")+" "+E(e.$money(t.freeShippingFromValue)),1)]))])):D("",!0)]),to])}const ro=V(Kr,[["render",no]]),oo=L({__name:"ShopHeader",props:{serviceLinks:{},categories:{},menuCategorySlugs:{},menuRandomCategories:{},isAlphabeticalSortSubmenu:{type:Boolean}},setup(e,{expose:n}){n();const r=e,t=w(null),{isSticky:o,positionY:l,categoryTrees:a,inlineMenuTrees:s}=jt({...r,header:t}),c=w(!1),u=w(!1),i=w(!1),h=w(!1),p=w(0);ae(()=>{h.value=!0,ne(Ve,(v,d)=>{d&&d<v&&(i.value=!0),p.value=v},{immediate:!0})});const f={props:r,header:t,isSticky:o,positionY:l,categoryTrees:a,inlineMenuTrees:s,isSidenavOpen:c,isSearchOpen:u,isCartOpen:i,isMounted:h,delayedTotalItems:p,Drawer:Gt,ShopSidenav:Mn,ShopHeaderMenu:Er,SearchModal:Fr,AccountMenu:Ur,CartSidebar:ro};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}}),ao={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"},lo={class:"basis-1/4 lg:hidden"},so={class:"basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"},io=g("i",{class:"i-magnifying-glass w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"},null,-1),uo=[io],co=g("i",{class:"i-shopping-bag w-7 h-7 group-hover:text-primary group-hover:scale-110 group-active:scale-125"},null,-1),fo={key:0,class:"ui-badge-pill-sm absolute -top-1 -right-1.5"};function po(e,n,r,t,o,l){return b(),P("header",{ref:"header",class:$(["relative top-0 z-50 transition-colors",[t.isSticky&&!t.isSidenavOpen?"bg-white/80":"bg-white",t.isSticky?"backdrop-blur-md shadow py-2 md:py-3":"py-3 sm:py-4 md:py-5"]])},[g("div",ao,[g("div",lo,[g("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=a=>t.isSidenavOpen=!t.isSidenavOpen)},[g("i",{class:$(["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",so,[g("button",{"aria-label":"Buscar produtos",onClick:n[1]||(n[1]=a=>t.isSearchOpen=!t.isSearchOpen)},uo),O(t.AccountMenu,{class:"hidden sm:block","aria-label":"Minha conta","service-links":r.serviceLinks},{button:M(({open:a})=>[g("i",{class:$(["i-user-circle w-7 h-7 hover:text-primary hover:scale-110 active:scale-125",a?"text-black scale-110":null])},null,2)]),_:1},8,["service-links"]),g("button",{"aria-label":"Abrir carrinho",onClick:n[2]||(n[2]=a=>t.isCartOpen=!t.isCartOpen),class:"relative group"},[co,t.delayedTotalItems?(b(),P("span",fo,E(t.delayedTotalItems),1)):D("",!0)])])]),O(t.Drawer,{modelValue:t.isSidenavOpen,"onUpdate:modelValue":n[3]||(n[3]=a=>t.isSidenavOpen=a),"has-close-button":!1,position:"absolute",class:$(t.isSticky?"mt-2 md:mt-3":"mt-3 sm:mt-4 md:mt-5"),style:Ue({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]=a=>t.isSearchOpen=a),"has-close-button":!1,placement:"top"},{default:M(()=>[O(t.SearchModal)]),_:1},8,["modelValue"]),t.isMounted?(b(),N(Ke,{key:0,to:"#teleported-overlap"},[O(t.Drawer,{modelValue:t.isCartOpen,"onUpdate:modelValue":n[5]||(n[5]=a=>t.isCartOpen=a),placement:"end","backdrop-target":"#teleported-overlap"},{default:M(()=>[O(t.CartSidebar)]),_:1},8,["modelValue"])])):D("",!0)],2)}const yo=V(oo,[["render",po]]);export{yo as default};
|