cloudcommerce 0.20.2 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitmodules +3 -0
- package/.nvmrc +1 -0
- package/.vscode/settings.json +2 -1
- package/CHANGELOG.md +44 -0
- package/action.yml +37 -13
- package/ecomplus-stores/iluminim/.devcontainer/devcontainer.json +30 -0
- package/ecomplus-stores/iluminim/.eslintrc.cjs +3 -0
- package/ecomplus-stores/iluminim/.firebaserc +5 -0
- package/ecomplus-stores/iluminim/.github/renovate.json +5 -0
- package/ecomplus-stores/iluminim/.github/workflows/build-and-deploy.yml +36 -0
- package/ecomplus-stores/iluminim/.github/workflows/calibreapp-image-actions.yml +23 -0
- package/ecomplus-stores/iluminim/.gitpod.yml +12 -0
- package/ecomplus-stores/iluminim/.nvmrc +1 -0
- package/ecomplus-stores/iluminim/.vscode/extensions.json +8 -0
- package/ecomplus-stores/iluminim/.vscode/launch.json +11 -0
- package/ecomplus-stores/iluminim/.vscode/settings.json +10 -0
- package/ecomplus-stores/iluminim/README.md +113 -0
- package/ecomplus-stores/iluminim/README.pt-BR.md +113 -0
- package/ecomplus-stores/iluminim/functions/config.json +3 -0
- package/ecomplus-stores/iluminim/functions/example.env +10 -0
- package/ecomplus-stores/iluminim/functions/many/index.js +14 -0
- package/ecomplus-stores/iluminim/functions/many/package.json +22 -0
- package/ecomplus-stores/iluminim/functions/ssr/.eslintrc.cjs +6 -0
- package/ecomplus-stores/iluminim/functions/ssr/astro.config.mjs +4 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/blog/.gitkeep +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/.gitkeep +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +33 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/pages/home.json +70 -0
- package/ecomplus-stores/iluminim/functions/ssr/content/settings.json +49 -0
- package/ecomplus-stores/iluminim/functions/ssr/index.js +18 -0
- package/ecomplus-stores/iluminim/functions/ssr/package.json +31 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/admin/.gitkeep +2 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms-preview.css +274 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms.css +114 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/cvv.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/img-placeholder.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/payments.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/assets/ssl-safe.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/icon.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/large-icon.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner-chamada-desktop-9x81zmd91q.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner2.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/chamada-mobile-q1c6om6jx4.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/headphone.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/logo.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/og-image.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/passion.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect8589.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect859.png +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect89.webp +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/public/robots.txt +8 -0
- package/ecomplus-stores/iluminim/functions/ssr/scripts/build.sh +14 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/assets/style.css +65 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/AccountMenu.vue +104 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/Banner.vue +59 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/BannersGrid.astro +25 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/CartSidebar.vue +35 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/Countdown.vue +79 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/HeroSlider.vue +52 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/PitchBar.vue +57 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/Prices.vue +96 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductCard.vue +118 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductShelf.vue +60 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductsCountdown.vue +20 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/SearchModal.vue +6 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +137 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderMenu.vue +58 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderSubmenu.vue +88 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +61 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenavCategory.vue +78 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/env.d.ts +13 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Base.astro +16 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Checkout.astro +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +33 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Fallback.astro +10 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Home.astro +49 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Sections.astro +42 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/main/Wildcard.astro +18 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/[...slug].astro +40 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/_vue.ts +3 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/account.astro +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/index.astro +0 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/fallback.astro +25 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +35 -0
- package/ecomplus-stores/iluminim/functions/ssr/src/scripts/InlineScripts.astro +10 -0
- package/ecomplus-stores/iluminim/functions/ssr/tailwind.config.cjs +13 -0
- package/ecomplus-stores/iluminim/functions/ssr/tsconfig.json +12 -0
- package/ecomplus-stores/iluminim/functions/ssr/uno.config.cjs +5 -0
- package/ecomplus-stores/iluminim/functions/with-apps/index.js +12 -0
- package/ecomplus-stores/iluminim/functions/with-apps/package.json +22 -0
- package/ecomplus-stores/iluminim/package.json +28 -0
- package/ecomplus-stores/iluminim/scripts/install.sh +14 -0
- package/ecomplus-stores/monocard/.eslintrc.cjs +3 -0
- package/ecomplus-stores/monocard/.nvmrc +1 -0
- package/ecomplus-stores/tia-sonia/.eslintrc.cjs +3 -0
- package/ecomplus-stores/tia-sonia/.nvmrc +1 -0
- package/package.json +4 -4
- package/packages/api/package.json +1 -1
- package/packages/api/types.d.ts +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 +1 -1
- 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/config/firebase.json +10 -0
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- 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/en_us/i19hour.txt +1 -0
- package/packages/i18n/lib/en_us/i19hours.txt +1 -0
- package/packages/i18n/lib/en_us/i19milliseconds.txt +1 -0
- package/packages/i18n/lib/en_us/i19minute.txt +1 -0
- package/packages/i18n/lib/en_us/i19minutes.txt +1 -0
- package/packages/i18n/lib/en_us/i19second.txt +1 -0
- package/packages/i18n/lib/en_us/i19seconds.txt +1 -0
- package/packages/i18n/lib/en_us.d.ts +7 -0
- package/packages/i18n/lib/en_us.js +7 -0
- package/packages/i18n/lib/en_us.js.map +1 -1
- package/packages/i18n/lib/pt_br/i19home.txt +1 -1
- package/packages/i18n/lib/pt_br/i19hour.txt +1 -0
- package/packages/i18n/lib/pt_br/i19hours.txt +1 -0
- package/packages/i18n/lib/pt_br/i19milliseconds.txt +1 -0
- package/packages/i18n/lib/pt_br/i19minute.txt +1 -0
- package/packages/i18n/lib/pt_br/i19minutes.txt +1 -0
- package/packages/i18n/lib/pt_br/i19second.txt +1 -0
- package/packages/i18n/lib/pt_br/i19seconds.txt +1 -0
- package/packages/i18n/lib/pt_br.d.ts +8 -1
- package/packages/i18n/lib/pt_br.js +8 -1
- package/packages/i18n/lib/pt_br.js.map +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/i18n/src/en_us.ts +7 -0
- package/packages/i18n/src/pt_br.ts +8 -1
- package/packages/modules/package.json +1 -1
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +24 -18
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +2 -2
- package/packages/ssr/src/firebase/serve-storefront.ts +25 -18
- package/packages/storefront/.eslintrc.cjs +8 -1
- package/packages/storefront/client.d.ts +1 -19
- package/packages/storefront/dist/client/_astro/HeroSlider.0890631f.js +1 -0
- package/packages/storefront/dist/client/_astro/{ShopHeader.0c884bbe.js → ShopHeader.82ae97a5.js} +1 -1
- package/packages/storefront/dist/client/_astro/_...slug_.c85b8978.css +1 -0
- package/packages/storefront/dist/client/_astro/{client.8035a95a.js → client.0fb6b44e.js} +1 -1
- package/packages/storefront/dist/client/_astro/{hoisted.9d9d7ac4.js → hoisted.572313d6.js} +1 -1
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/_...7e1df40a.mjs +34 -0
- package/packages/storefront/dist/server/chunks/{account@_@astro.89e4cf60.mjs → account@_@astro.5f1dba7a.mjs} +7 -8
- package/packages/storefront/dist/server/chunks/{astro.45d3047f.mjs → astro.2d3ebf0f.mjs} +560 -511
- package/packages/storefront/dist/server/chunks/{endpoint@_@js.f880a152.mjs → endpoint@_@js.80de0568.mjs} +7 -8
- package/packages/storefront/dist/server/chunks/{fallback@_@astro.89538855.mjs → fallback@_@astro.02a45b47.mjs} +7 -8
- package/packages/storefront/dist/server/chunks/{index@_@astro.56fdd6da.mjs → index@_@astro.23b50301.mjs} +7 -8
- package/packages/storefront/dist/server/chunks/{index@_@astro.548cf7ad.mjs → index@_@astro.7cb07e52.mjs} +7 -8
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.bde9380b.mjs → _...slug_.astro.4358f614.mjs} +92 -104
- package/packages/storefront/dist/server/chunks/pages/{account.astro.f07cf19e.mjs → account.astro.afae5a12.mjs} +6 -6
- package/packages/storefront/dist/server/chunks/pages/{endpoint.js.d4e37801.mjs → endpoint.js.60fd21aa.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{fallback.astro.e2e8a0e4.mjs → fallback.astro.e5566925.mjs} +10 -10
- package/packages/storefront/dist/server/chunks/pages/{index.astro.3760ebe3.mjs → index.astro.5bc6b9d8.mjs} +34 -32
- package/packages/storefront/dist/server/entry.mjs +13 -12
- package/packages/storefront/dist/server/renderers.mjs +7 -8
- package/packages/storefront/package.json +2 -2
- package/packages/storefront/server.d.ts +3 -27
- package/packages/storefront/src/lib/$storefront.d.ts +28 -0
- package/packages/storefront/src/lib/assets/base.css +2 -0
- package/packages/storefront/src/lib/layouts/Base.astro +1 -9
- package/packages/storefront/src/lib/layouts/BaseHead.astro +73 -2
- package/packages/storefront/src/lib/layouts/use-page-main.ts +18 -5
- package/packages/storefront/src/lib/pages/_vue.ts +1 -1
- package/packages/storefront/src/lib/server-data.ts +1 -1
- package/packages/storefront/src/lib/ssr-context.ts +46 -36
- package/packages/storefront/src/vue-globals.d.ts +3 -3
- package/packages/types/package.json +1 -1
- package/pnpm-workspace.yaml +2 -2
- package/packages/storefront/dist/client/_astro/HeroSlider.eb156f18.js +0 -1
- package/packages/storefront/dist/client/_astro/_...slug_.c2da43fb.css +0 -1
- package/packages/storefront/dist/server/chunks/_...9e22b578.mjs +0 -35
- package/packages/storefront/src/lib/composables/use-hero-slider.ts +0 -26
- package/packages/storefront/src/lib/layouts/BaseStateJson.astro +0 -68
|
@@ -382,6 +382,8 @@ export const i19highestPrice = 'Highest price'
|
|
|
382
382
|
export const i19highPriority = 'High priority'
|
|
383
383
|
export const i19holderName = 'Holder name'
|
|
384
384
|
export const i19home = 'Home'
|
|
385
|
+
export const i19hour = 'Hour'
|
|
386
|
+
export const i19hours = 'Hours'
|
|
385
387
|
export const i19icon = 'Icon'
|
|
386
388
|
export const i19id = 'ID'
|
|
387
389
|
export const i19identification = 'Identification'
|
|
@@ -481,7 +483,10 @@ export const i19metafields = 'Metafields'
|
|
|
481
483
|
export const i19metafieldsMsg = 'List of custom attributes'
|
|
482
484
|
export const i19metaTagDescription = 'Meta description tag'
|
|
483
485
|
export const i19middleName = 'Middle name'
|
|
486
|
+
export const i19milliseconds = 'Milliseconds'
|
|
484
487
|
export const i19minimum = 'Minimum'
|
|
488
|
+
export const i19minute = 'Minute'
|
|
489
|
+
export const i19minutes = 'Minutes'
|
|
485
490
|
export const i19minQuantity = 'Minimum quantity'
|
|
486
491
|
export const i19mlCategoryId = 'ML Category ID'
|
|
487
492
|
export const i19mobile = 'Mobile'
|
|
@@ -742,6 +747,8 @@ export const i19searchingFor = 'Searching for'
|
|
|
742
747
|
export const i19searchItems = 'Search items'
|
|
743
748
|
export const i19searchOfflineErrorMsg = 'Couldn\'t perform search, please check your internet connection.'
|
|
744
749
|
export const i19searchProducts = 'Search products'
|
|
750
|
+
export const i19second = 'Second'
|
|
751
|
+
export const i19seconds = 'Seconds'
|
|
745
752
|
export const i19securityCode = 'Security code'
|
|
746
753
|
export const i19seeAll = 'See all'
|
|
747
754
|
export const i19seeAllApps = 'See all apps'
|
|
@@ -381,7 +381,9 @@ export const i19high = 'Alto'
|
|
|
381
381
|
export const i19highestPrice = 'Maior preço'
|
|
382
382
|
export const i19highPriority = 'Prioridade máxima'
|
|
383
383
|
export const i19holderName = 'Nome do titular'
|
|
384
|
-
export const i19home = '
|
|
384
|
+
export const i19home = 'Início'
|
|
385
|
+
export const i19hour = 'Hora'
|
|
386
|
+
export const i19hours = 'Horas'
|
|
385
387
|
export const i19icon = 'Ícone'
|
|
386
388
|
export const i19id = 'ID'
|
|
387
389
|
export const i19identification = 'Identificação'
|
|
@@ -481,7 +483,10 @@ export const i19metafields = 'Metafields'
|
|
|
481
483
|
export const i19metafieldsMsg = 'Lista de atributos customizados'
|
|
482
484
|
export const i19metaTagDescription = 'Meta description tag'
|
|
483
485
|
export const i19middleName = 'Sobrenome do meio'
|
|
486
|
+
export const i19milliseconds = 'Milissegundos'
|
|
484
487
|
export const i19minimum = 'Mínimo'
|
|
488
|
+
export const i19minute = 'Minuto'
|
|
489
|
+
export const i19minutes = 'Minutos'
|
|
485
490
|
export const i19minQuantity = 'Quantidade mínima'
|
|
486
491
|
export const i19mlCategoryId = 'ID da categoria no ML'
|
|
487
492
|
export const i19mobile = 'Mobile'
|
|
@@ -741,6 +746,8 @@ export const i19searchingFor = 'Buscando por'
|
|
|
741
746
|
export const i19searchItems = 'Buscar itens'
|
|
742
747
|
export const i19searchOfflineErrorMsg = 'Não foi possível realizar a busca, por favor verique sua conexão.'
|
|
743
748
|
export const i19searchProducts = 'Buscar produtos'
|
|
749
|
+
export const i19second = 'Segundo'
|
|
750
|
+
export const i19seconds = 'Segundos'
|
|
744
751
|
export const i19securityCode = 'Código de segurança'
|
|
745
752
|
export const i19seeAll = 'Ver todos'
|
|
746
753
|
export const i19seeAllApps = 'Ver todos aplicativos'
|
|
@@ -7,18 +7,21 @@ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
|
|
|
7
7
|
let imagesManifest;
|
|
8
8
|
const builtImages = [];
|
|
9
9
|
let cssFilename;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
10
|
+
const readinsStylesManifest = new Promise((resolve) => {
|
|
11
|
+
readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
|
|
12
|
+
.then((stylesManifest) => {
|
|
13
|
+
const cssFiles = [];
|
|
14
|
+
stylesManifest.split(/\n/).forEach((line) => {
|
|
15
|
+
const [filename] = line.split(',');
|
|
16
|
+
if (filename) cssFiles.push(filename);
|
|
17
|
+
});
|
|
18
|
+
if (cssFiles.length === 1) {
|
|
19
|
+
[cssFilename] = cssFiles;
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
.catch(logger.warn)
|
|
23
|
+
.finally(() => resolve(null));
|
|
24
|
+
});
|
|
22
25
|
const isProxyDebug = SSR_PROXY_DEBUG ? String(SSR_PROXY_DEBUG).toLowerCase() === 'true' : false;
|
|
23
26
|
const proxyTimeout = SSR_PROXY_TIMEOUT ? Number(SSR_PROXY_TIMEOUT) : 3000;
|
|
24
27
|
const proxy = async (req, res) => {
|
|
@@ -164,12 +167,15 @@ export default async (req, res) => {
|
|
|
164
167
|
res.sendStatus(400);
|
|
165
168
|
return;
|
|
166
169
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
res.
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
170
|
+
(async () => {
|
|
171
|
+
await readinsStylesManifest;
|
|
172
|
+
if (cssFilename && !res.headersSent) {
|
|
173
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
|
|
174
|
+
res.writeEarlyHints({
|
|
175
|
+
link: `</${cssFilename}>; rel=preload; as=style`,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
})();
|
|
173
179
|
/*
|
|
174
180
|
https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
|
|
175
181
|
import { handler as renderStorefront } from '../dist/server/entry.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAW/C,MAAM,EACJ,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,OAAO,GAAG,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AACrD,IAAI,cAAsB,CAAC;AAE3B,MAAM,WAAW,GAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"serve-storefront.js","sourceRoot":"","sources":["../../src/firebase/serve-storefront.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudcommerce/ssr",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.22.0",
|
|
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.
|
|
33
|
+
"astro": "2.9.0",
|
|
34
34
|
"firebase-admin": "^11.10.1",
|
|
35
35
|
"firebase-functions": "^4.4.1",
|
|
36
36
|
"semver": "^7.5.4",
|
|
@@ -22,19 +22,23 @@ const baseDir = STOREFRONT_BASE_DIR || process.cwd();
|
|
|
22
22
|
let imagesManifest: string;
|
|
23
23
|
type BuiltImage = { filename: string, width: number, height: number };
|
|
24
24
|
const builtImages: BuiltImage[] = [];
|
|
25
|
+
|
|
25
26
|
let cssFilename: string | undefined;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
27
|
+
const readinsStylesManifest = new Promise((resolve) => {
|
|
28
|
+
readFile(joinPath(baseDir, 'dist/server/stylesheets.csv'), 'utf-8')
|
|
29
|
+
.then((stylesManifest) => {
|
|
30
|
+
const cssFiles: string[] = [];
|
|
31
|
+
stylesManifest.split(/\n/).forEach((line) => {
|
|
32
|
+
const [filename] = line.split(',');
|
|
33
|
+
if (filename) cssFiles.push(filename);
|
|
34
|
+
});
|
|
35
|
+
if (cssFiles.length === 1) {
|
|
36
|
+
[cssFilename] = cssFiles;
|
|
37
|
+
}
|
|
38
|
+
})
|
|
39
|
+
.catch(logger.warn)
|
|
40
|
+
.finally(() => resolve(null));
|
|
41
|
+
});
|
|
38
42
|
|
|
39
43
|
const isProxyDebug = SSR_PROXY_DEBUG ? String(SSR_PROXY_DEBUG).toLowerCase() === 'true' : false;
|
|
40
44
|
const proxyTimeout = SSR_PROXY_TIMEOUT ? Number(SSR_PROXY_TIMEOUT) : 3000;
|
|
@@ -187,12 +191,15 @@ export default async (req: Request, res: Response) => {
|
|
|
187
191
|
return;
|
|
188
192
|
}
|
|
189
193
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
res.
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
(async () => {
|
|
195
|
+
await readinsStylesManifest;
|
|
196
|
+
if (cssFilename && !res.headersSent) {
|
|
197
|
+
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103 :zap:
|
|
198
|
+
res.writeEarlyHints({
|
|
199
|
+
link: `</${cssFilename}>; rel=preload; as=style`,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
})();
|
|
196
203
|
|
|
197
204
|
/*
|
|
198
205
|
https://github.com/withastro/astro/blob/main/examples/ssr/server/server.mjs
|
|
@@ -15,7 +15,14 @@ module.exports = {
|
|
|
15
15
|
'import/prefer-default-export': 'warn',
|
|
16
16
|
'import/extensions': 'off',
|
|
17
17
|
'vue/multi-word-component-names': ['error', {
|
|
18
|
-
ignores: [
|
|
18
|
+
ignores: [
|
|
19
|
+
'Fade',
|
|
20
|
+
'Carousel',
|
|
21
|
+
'Drawer',
|
|
22
|
+
'Prices',
|
|
23
|
+
'Banner',
|
|
24
|
+
'Countdown',
|
|
25
|
+
],
|
|
19
26
|
}],
|
|
20
27
|
},
|
|
21
28
|
};
|
|
@@ -23,25 +23,7 @@ interface Window {
|
|
|
23
23
|
ECOM_CURRENCY: string;
|
|
24
24
|
ECOM_CURRENCY_SYMBOL: string;
|
|
25
25
|
ECOM_COUNTRY_CODE: string;
|
|
26
|
-
$storefront?: {
|
|
27
|
-
settings: import('./src/lib/content').SettingsContent,
|
|
28
|
-
context?: {
|
|
29
|
-
resource: 'products',
|
|
30
|
-
doc: Omit<import('@cloudcommerce/api/types').ProductSet, DocCleanupFields>,
|
|
31
|
-
timestamp: number,
|
|
32
|
-
} | {
|
|
33
|
-
resource: 'categories',
|
|
34
|
-
doc: Omit<import('@cloudcommerce/api/types').CategorySet, DocCleanupFields>,
|
|
35
|
-
timestamp: number,
|
|
36
|
-
} | {
|
|
37
|
-
resource: 'brands',
|
|
38
|
-
doc: Omit<import('@cloudcommerce/api/types').BrandSet, DocCleanupFields>,
|
|
39
|
-
timestamp: number,
|
|
40
|
-
} | {
|
|
41
|
-
resource: 'collections',
|
|
42
|
-
doc: Omit<import('@cloudcommerce/api/types').CollectionSet, DocCleanupFields>,
|
|
43
|
-
timestamp: number,
|
|
44
|
-
},
|
|
26
|
+
$storefront?: import('@@sf/$storefront').$Storefront & {
|
|
45
27
|
modulesInfoPreset?: Partial<typeof import('./src/lib/state/modules-info').default>,
|
|
46
28
|
};
|
|
47
29
|
$isCmsPreview?: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as u,_ as w,d as y,o as s,a as o,g as f,w as l,u as k,n as g,h as p,y as v,x as b,i as d,e as c,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 L,a as N}from"./Carousel.62c97a79.js";import{p as x}from"./index.b93f3d06.js";import"./session-utm.744b0db3.js";const P=a=>{const r=u(()=>a.title?x(a.title).value:""),t=u(()=>a.subtitle?x(a.subtitle).value:""),e=u(()=>a.buttonText?x(a.buttonText).value:""),i=u(()=>!!(r.value||t.value||e.value));return{parsedTitle:r,parsedSubtitle:t,parsedButtonText:e,hasHeader:i}},V=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}=P(t),n={props:t,hasHeader:e,parsedTitle:i,parsedSubtitle:_,parsedButtonText:h};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}}),j={key:0,class:"basis-1/2 grow-0 p-12 xl:ps-32 mb-3 md: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:g(["mx-auto overflow-x-hidden",e.hasHeader?"grid grid-cols-1 md:grid-cols-2 items-center":null])},[(s(),f(p(t.href?"a-link":"span"),{href:t.href,class:g(e.hasHeader?"basis-1/2 grow-0 md:order-last":null)},{default:l(()=>[k(a.$slots,"picture")]),_:3},8,["href","class"])),e.hasHeader?(s(),o("div",j,[e.parsedTitle?(s(),f(p(t.headingTag),{key:0,class:"ui-title mt-1"},{default:l(()=>[v(b(e.parsedTitle),1)]),_:1})):d("",!0),e.parsedSubtitle?(s(),o("p",D,b(e.parsedSubtitle),1)):d("",!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(b(e.parsedButtonText),1)]),_:1},8,["href"])):d("",!0)])):d("",!0)],2)}const F=w(V,[["render",z]]),O=y({__name:"HeroSlider",props:{autoplay:{},slides:{}},setup(a,{expose:r}){r();const t={Carousel:L,CarouselControl:N,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,[c(e.Carousel,{autoplay:t.autoplay,class:"secondary [&>*]:items-center"},{controls:l(()=>[T(m("div",I,[m("div",K,[c(e.CarouselControl,{class:"w-10 h-10 rounded-full hover:bg-primary/10","is-prev":""},{default:l(()=>[q]),_:1}),c(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"},[c(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/{ShopHeader.0c884bbe.js → ShopHeader.82ae97a5.js}
RENAMED
|
@@ -1,4 +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 Et,f as Mt}from"./index.b93f3d06.js";import{j as w,c as x,k as ne,l as ae,_ as V,d as L,t as Tt,m as Z,o as b,g as N,w as T,a as P,n as $,p as Ue,b as h,q as Ot,u as ee,i as D,T as Ke,e as O,h as Ct,x as M,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),g=x(()=>l.value&&i.value>c.value*1.2),p=w("none");ne(g,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([g,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:g,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===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,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),g=d=>({...d,subcategories:i(d).map(_=>g(_))}),p=u.map(g);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:g,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(Tt(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"),g=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:g};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Ht=["open","data-drawer"],Vt={class:"relative h-full"},Ut=["onClick"],Kt=h("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:T(()=>[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},[h("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:T(()=>[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),Ee=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(()=>Ee.value||!!re?.currentUser?.emailVerified),Me=()=>{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()=>(Ee.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||!Ee.value)&&(await Je(),(s||!me.value)&&await Xt())}}else Me()}),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?Et(n):n()},{settings:$e,context:_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:T(()=>[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)},[h("summary",{class:$(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[h("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,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):D("",!0),h("h3",{class:$(["inline",t.isOpen?"ml-4 text-base":null])},M(r.categoryTree.name),3)],2),h("ul",{class:$(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(b(!0),P(B,null,G(r.categoryTree.subcategories,c=>(b(),N(s,{key:c._id,"category-tree":c},null,8,["category-tree"]))),128)),h("li",null,[h("a",{href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 text-base underline active:bg-base-200"},M("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,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,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):D("",!0),h("h3",fn,M(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 Me},get socialNetworks(){return be},AccountLink:Ze,SocialNetworkLink:et,ShopSidenavCategory:vn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),hn={class:"flex flex-col h-full"},gn={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=h("i",{class:"i-user-circle text-4xl text-base-500 m-0"},null,-1),xn={class:"leading-tight"},Sn=h("small",{class:"block lowercase font-semibold text-primary"},M("Meus pedidos")+", "+M("Minha conta"),-1),kn=h("span",{class:"text-base-600"},M("Sair"),-1),Pn=h("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),In=[kn,Pn],En={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function Mn(e,n,r,t,o,l){return b(),P("aside",hn,[h("nav",gn,[h("ul",bn,[(b(!0),P(B,null,G(r.categoryTrees,a=>(b(),N(t.ShopSidenavCategory,{key:a._id,"category-tree":a},null,8,["category-tree"]))),128))])]),h("footer",_n,[h("div",yn,[O(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:T(()=>[wn,h("span",xn,[K(M(`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)]),h("ul",En,[(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 Tn=V(mn,[["render",Mn]]);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 g=!1,p=[];for(let[f,v]of Object.entries(t))typeof v=="boolean"&&(g=!0),v===!0&&p.push(f);g&&(i["data-headlessui-state"]=p.join(" "))}if(s==="template"){if(u=tt(u??[]),Object.keys(c).length>0||Object.keys(n).length>0){let[g,...p]=u??[];if(!Fn(g)||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(`
|
|
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 Et,f as Mt}from"./index.b93f3d06.js";import{j as w,c as x,k as ne,l as ae,_ as V,d as L,t as Tt,m as Z,o as b,g as N,w as T,a as P,n as $,p as Ue,b as h,q as Ot,u as ee,i as D,T as Ke,e as O,h as Ct,x as M,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),g=x(()=>l.value&&i.value>c.value*1.2),p=w("none");ne(g,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([g,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:g,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===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,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),g=d=>({...d,subcategories:i(d).map(_=>g(_))}),p=u.map(g);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:g,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(Tt(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"),g=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:g};return Object.defineProperty(p,"__isScriptSetup",{enumerable:!1,value:!0}),p}}),Ht=["open","data-drawer"],Vt={class:"relative h-full"},Ut=["onClick"],Kt=h("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:T(()=>[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},[h("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:T(()=>[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),Ee=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(()=>Ee.value||!!re?.currentUser?.emailVerified),Me=()=>{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()=>(Ee.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||!Ee.value)&&(await Je(),(s||!me.value)&&await Xt())}}else Me()}),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?Et(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:T(()=>[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)},[h("summary",{class:$(["cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors",t.isOpen?"bg-base-100":null])},[h("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,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):D("",!0),h("h3",{class:$(["inline",t.isOpen?"ml-4 text-base":null])},M(r.categoryTree.name),3)],2),h("ul",{class:$(["mt-2 transition-opacity",t.isFaded?"opacity-20":"opacity-100"]),tabindex:"-1"},[(b(!0),P(B,null,G(r.categoryTree.subcategories,c=>(b(),N(s,{key:c._id,"category-tree":c},null,8,["category-tree"]))),128)),h("li",null,[h("a",{href:`/${r.categoryTree.slug}`,class:"block px-6 py-3 text-base underline active:bg-base-200"},M("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,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,class:"w-auto h-5 inline mr-3"},null,8,["picture"])):D("",!0),h("h3",fn,M(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 Me},get socialNetworks(){return be},AccountLink:Ze,SocialNetworkLink:et,ShopSidenavCategory:vn};return Object.defineProperty(r,"__isScriptSetup",{enumerable:!1,value:!0}),r}}),hn={class:"flex flex-col h-full"},gn={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=h("i",{class:"i-user-circle text-4xl text-base-500 m-0"},null,-1),xn={class:"leading-tight"},Sn=h("small",{class:"block lowercase font-semibold text-primary"},M("Meus pedidos")+", "+M("Minha conta"),-1),kn=h("span",{class:"text-base-600"},M("Sair"),-1),Pn=h("i",{class:"i-arrow-right-on-rectangle text-lg ml-1"},null,-1),In=[kn,Pn],En={class:"flex gap-3 p-4 bg-base-200 text-xl text-base-700"};function Mn(e,n,r,t,o,l){return b(),P("aside",hn,[h("nav",gn,[h("ul",bn,[(b(!0),P(B,null,G(r.categoryTrees,a=>(b(),N(t.ShopSidenavCategory,{key:a._id,"category-tree":a},null,8,["category-tree"]))),128))])]),h("footer",_n,[h("div",yn,[O(t.AccountLink,{class:"p-2 grow flex items-center gap-3"},{default:T(()=>[wn,h("span",xn,[K(M(`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)]),h("ul",En,[(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 Tn=V(mn,[["render",Mn]]);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 g=!1,p=[];for(let[f,v]of Object.entries(t))typeof v=="boolean"&&(g=!0),v===!0&&p.push(f);g&&(i["data-headlessui-state"]=p.join(" "))}if(s==="template"){if(u=tt(u??[]),Object.keys(c).length>0||Object.keys(n).length>0){let[g,...p]=u??[];if(!Fn(g)||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
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
3
|
`)].join(`
|
|
4
4
|
`));let f=nt((a=g.props)!=null?a:{},c),v=Ft(g,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||{}),he=(e=>(e[e.Error=0]="Error",e[e.Overflow=1]="Overflow",e[e.Success=2]="Success",e[e.Underflow=3]="Underflow",e))(he||{}),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}:{},g=0,p=s.length,f;do{if(g>=p||g+p<=0)return 0;let v=u+g;if(n&16)v=(v+p)%p;else{if(v<0)return 3;if(v>=p)return 1}f=s[v],f?.focus(i),g+=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 ge=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(ge,{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 g={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;g.closeMenu(),we(f,ye.Loose)||(p.preventDefault(),(v=m(o))==null||v.focus())},x(()=>t.value===0)),de(ft,g),at(x(()=>W(t.value,{0:Y.Open,1:Y.Closed}))),()=>{let p={open:t.value===0,close:g.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:g,...p}=e,f={ref:o.buttonRef,id:g,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 g;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];(g=m(p.dataRef.domRef))==null||g.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,g;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":(g=m(o.buttonRef))==null?void 0:g.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 g=Gn();function p(d){g.update(d)}function f(d){g.wasMoved(d)&&(e.disabled||a.value||o.goToItem(R.Specific,e.id,0))}function v(d){g.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 Te(e){let n=se(pt,null);if(n===null){let r=new Error(`<${e} /> is missing a parent <${ht.name} /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(r,Te),r}return n}let sr=Symbol("PopoverGroupContext");function vt(){return se(sr,null)}let mt=Symbol("PopoverPanelContext");function ir(){return se(mt,null)}let ht=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),g=x(()=>le(l)),p=x(()=>{var y,E;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,gt=(j+1)%C.length,bt=C[pe],_t=C[gt];return!((y=m(i))!=null&&y.contains(bt))&&!((E=m(i))!=null&&E.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 E=(()=>y?y instanceof HTMLElement?y:y.value instanceof HTMLElement?m(y):m(f.button):m(f.button))();E?.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,E,C,j;return(j=d?.isFocusWithinPopoverGroup())!=null?j:((y=g.value)==null?void 0:y.activeElement)&&(((E=m(s))==null?void 0:E.contains(g.value.activeElement))||((C=m(i))==null?void 0:C.contains(g.value.activeElement)))}return X(()=>_?.(v)),Yn((o=g.value)==null?void 0:o.defaultView,"focus",y=>{var E,C;y.target!==window&&y.target instanceof HTMLElement&&a.value===0&&(F()||s&&i&&(k.contains(y.target)||(E=m(f.beforePanelSentinel))!=null&&E.contains(y.target)||(C=m(f.afterPanelSentinel))!=null&&C.contains(y.target)||f.closePopover()))},!0),ct(k.resolveContainers,(y,E)=>{var C;f.closePopover(),we(E,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=Te("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),g=`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,E,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(),(E=m(o.button))==null||E.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)})===he.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,...E}=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,...E},slot:F,attrs:n,slots:r,name:"PopoverButton"}),k&&!u.value&&o.isPortalled.value&&J(ge,{id:g,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=Te("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 g(_){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 E=_.relatedTarget;E&&m(l.panel)&&((S=m(l.panel))!=null&&S.contains(E)||(l.closePopover(),((k=(I=m(l.beforePanelSentinel))==null?void 0:I.contains)!=null&&k.call(I,E)||(y=(F=m(l.afterPanelSentinel))==null?void 0:F.contains)!=null&&y.call(F,E))&&E.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)===he.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),E=F.slice(0,y+1),C=[...F.slice(y+1),...E];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)===he.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:g,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 E;return[J(B,[i.value&&l.isPortalled.value&&J(ge,{id:s,ref:l.beforePanelSentinel,features:ce.Focusable,"data-headlessui-focus-guard":!0,as:"button",type:"button",onFocus:v}),(E=r.default)==null?void 0:E.call(r,...y),i.value&&l.isPortalled.value&&J(ge,{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(()=>e.categoryTree.pictures?.[0]),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 ht},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"},hr=["href"],gr=["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:T(({open:c})=>[O(t.PopoverButton,{class:"outline-none"},{default:T(()=>[ee(e.$slots,"button",We(ze({open:c})))]),_:2},1024),h("div",pr,[O(s,null,{default:T(()=>[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:T(()=>[h("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")},[h("a",{href:`/${u.slug}`,class:"hover:text-primary"},[h("h3",null,M(u.name),1)],8,hr)],2))),128))])):D("",!0),(b(!0),P(B,null,G(t.subcategoryCols,(u,i)=>(b(),P("div",{key:u._id,class:"flex-1"},[h("a",{href:`/${u.slug}`,class:"hover:text-primary"},[h("h3",null,M(u.name),1)],8,gr),h("ul",br,[(b(!0),P(B,null,G(u.subcategories,(g,p)=>(b(),P("li",{key:`${i}-${p}`,class:"mb-0.5"},[h("a",{href:`/${g.slug}`,class:"hover:text-primary hover:underline"},[h("h3",null,M(g.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)]),h("a",{href:`/${r.categoryTree.slug}`,class:"block mt-1 text-xs text-base-600 leading-snug underline"},M("Ver toda a categoria $1".replace("$1",r.categoryTree.name)),9,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 Er(e,n,r,t,o,l){return b(),P("nav",null,[h("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:T(({open:c})=>[h("span",kr,[h("h3",{class:$(["group-hover:underline inline",[r.inlineMenuTrees.length<7?"decoration-2":null,c?"underline":null]])},M(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])},[h("h3",Ir,M(a.name),1)],10,Pr))]))),128))],2)])}const Mr=V(Sr,[["render",Er]]),Tr={},Or={class:"w-full h-40 bg-base-300"};function Cr(e,n){return b(),P("div",Or)}const Fr=V(Tr,[["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 Me},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=h("i",{class:"i-heart mr-1"},null,-1),Rr={class:"flex justify-center gap-2 p-2 text-base-500 text-base"},jr=h("span",{class:"text-base-600"},M("Sair"),-1),Br=h("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:T(({open:c})=>[c?(b(),P("div",$r,[n[0]||(Oe(-1),n[0]=h("span",null,[K(M(t.initializeFirebaseAuth()),1)]),Oe(1),n[0])])):D("",!0),O(t.MenuButton,{class:"outline-none"},{default:T(()=>[ee(e.$slots,"button",We(ze({open:c})))]),_:2},1024),O(s,null,{default:T(()=>[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:T(()=>[h("div",Lr,[K(M(`Olá ${t.customerName||"Visitante"}`)+" ",1),O(t.AccountLink,{role:"button",class:"ui-btn-sm ui-btn-primary block my-1"},{default:T(()=>[K(M("Acessar minha conta"))]),_:1}),t.isLogged?D("",!0):(b(),N(t.AccountLink,{key:0,"is-sign-up":"",class:"ui-link block"},{default:T(()=>[K(M("Criar uma conta"))]),_:1}))]),h("ul",Nr,[O(t.MenuItem,{as:"li"},{default:T(({active:u})=>[O(t.AccountLink,{to:"orders",class:$(["block p-2",u?"bg-base-100 text-primary":null])},{default:T(()=>[K(M("Meus pedidos"))]),_:2},1032,["class"])]),_:1}),O(t.MenuItem,{as:"li"},{default:T(({active:u})=>[O(t.AccountLink,{to:"favorites",class:$(["block p-2",u?"bg-base-100 text-primary":null])},{default:T(()=>[Dr,K(" "+M("Meus favoritos"))]),_:2},1032,["class"])]),_:1}),(b(!0),P(B,null,G(r.serviceLinks,({title:u,href:i},g)=>(b(),N(t.MenuItem,{as:"li",key:`s-${g}`},{default:T(({active:p})=>[O(a,{href:i,class:$(["block p-2",p?"bg-base-100 text-primary":null])},{default:T(()=>[K(M(u),1)]),_:2},1032,["href","class"])]),_:2},1024))),128)),O(t.MenuItem,{as:"li"},{default:T(()=>[h("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:T(()=>[h("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 Mt},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=h("span",{class:"text-right text-base text-base-600 font-medium"},M("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=h("strong",{class:"lowercase"},M("Frete grátis"),-1),Zr={key:1,class:"p-3 bg-success-50 text-success-800"},eo=h("i",{class:"text-success-900 i-check mr-1"},null,-1),to=h("footer",{class:"p-5 shadow"},null,-1);function no(e,n,r,t,o,l){return b(),P("aside",Wr,[h("header",zr,[Gr,h("span",Yr,M(t.totalItems),1)]),h("article",Xr,[t.freeShippingFromValue?(b(),P("div",qr,[t.freeShippingFromValue>t.shoppingCart.subtotal?(b(),P("div",Jr,[K(M("Adicione $1 para ganhar".replace("$1",e.$money(t.freeShippingFromValue-t.shoppingCart.subtotal)))+" ",1),Qr])):(b(),P("div",Zr,[eo,K(" "+M("Frete grátis a partir de")+" "+M(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),g=w(!1),p=w(0);ae(()=>{g.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:g,delayedTotalItems:p,Drawer:Gt,ShopSidenav:Tn,ShopHeaderMenu:Mr,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=h("i",{class:"i-magnifying-glass w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"},null,-1),uo=[io],co=h("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"]])},[h("div",ao,[h("div",lo,[h("button",{class:"px-2 my-1","aria-label":"Abrir/fechar menu",onClick:n[0]||(n[0]=a=>t.isSidenavOpen=!t.isSidenavOpen)},[h("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),h("div",so,[h("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:T(({open:a})=>[h("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"]),h("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,M(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:T(()=>[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:T(()=>[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:T(()=>[O(t.CartSidebar)]),_:1},8,["modelValue"])])):D("",!0)],2)}const yo=V(oo,[["render",po]]);export{yo as default};
|