cloudcommerce 0.26.2 → 0.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  3. package/ecomplus-stores/barra-doce/functions/ssr/index.js +0 -1
  4. package/ecomplus-stores/barra-doce/functions/ssr/package.json +8 -8
  5. package/ecomplus-stores/barra-doce/functions/ssr/src/components/CartItem.vue +64 -0
  6. package/ecomplus-stores/barra-doce/functions/ssr/src/components/CartSidebar.vue +38 -7
  7. package/ecomplus-stores/barra-doce/functions/ssr/src/components/Prices.vue +2 -3
  8. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +8 -4
  9. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  10. package/ecomplus-stores/barra-doce/package.json +2 -2
  11. package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
  12. package/ecomplus-stores/iluminim/functions/ssr/package.json +8 -8
  13. package/ecomplus-stores/iluminim/functions/ssr/src/components/CartItem.vue +64 -0
  14. package/ecomplus-stores/iluminim/functions/ssr/src/components/CartSidebar.vue +37 -6
  15. package/ecomplus-stores/iluminim/functions/ssr/src/components/Prices.vue +2 -3
  16. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +6 -2
  17. package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
  18. package/ecomplus-stores/iluminim/package.json +2 -2
  19. package/package.json +3 -3
  20. package/packages/api/package.json +1 -1
  21. package/packages/apps/affilate-program/package.json +1 -1
  22. package/packages/apps/correios/package.json +1 -1
  23. package/packages/apps/custom-payment/package.json +1 -1
  24. package/packages/apps/custom-shipping/package.json +1 -1
  25. package/packages/apps/datafrete/package.json +1 -1
  26. package/packages/apps/discounts/package.json +1 -1
  27. package/packages/apps/emails/package.json +2 -2
  28. package/packages/apps/fb-conversions/package.json +1 -1
  29. package/packages/apps/flash-courier/package.json +1 -1
  30. package/packages/apps/frenet/package.json +1 -1
  31. package/packages/apps/galaxpay/package.json +1 -1
  32. package/packages/apps/google-analytics/package.json +1 -1
  33. package/packages/apps/jadlog/package.json +1 -1
  34. package/packages/apps/loyalty-points/package.json +1 -1
  35. package/packages/apps/melhor-envio/package.json +1 -1
  36. package/packages/apps/mercadopago/package.json +1 -1
  37. package/packages/apps/pagarme/package.json +1 -1
  38. package/packages/apps/paghiper/package.json +1 -1
  39. package/packages/apps/pix/package.json +1 -1
  40. package/packages/apps/tiny-erp/package.json +1 -1
  41. package/packages/apps/webhooks/package.json +1 -1
  42. package/packages/cli/package.json +1 -1
  43. package/packages/config/package.json +1 -1
  44. package/packages/emails/package.json +1 -1
  45. package/packages/eslint/package.json +3 -3
  46. package/packages/events/package.json +1 -1
  47. package/packages/feeds/package.json +1 -1
  48. package/packages/firebase/package.json +1 -1
  49. package/packages/i18n/package.json +1 -1
  50. package/packages/modules/lib/firebase/functions-checkout/request-to-module.js +2 -2
  51. package/packages/modules/lib/firebase/functions-checkout/request-to-module.js.map +1 -1
  52. package/packages/modules/lib/firebase/functions-checkout/utils.js +21 -9
  53. package/packages/modules/lib/firebase/functions-checkout/utils.js.map +1 -1
  54. package/packages/modules/package.json +2 -2
  55. package/packages/modules/schemas/@checkout.cjs +0 -1
  56. package/packages/modules/src/firebase/functions-checkout/request-to-module.ts +2 -2
  57. package/packages/modules/src/firebase/functions-checkout/utils.ts +23 -9
  58. package/packages/passport/package.json +1 -1
  59. package/packages/ssr/package.json +2 -2
  60. package/packages/storefront/astro.config.mjs +33 -23
  61. package/packages/storefront/dist/client/_astro/{Carousel.926668f2.js → Carousel.9ad2e1dc.js} +1 -1
  62. package/packages/storefront/dist/client/_astro/CartSidebar.a6c6a885.js +1 -0
  63. package/packages/storefront/dist/client/_astro/{HeroSlider.1f0524aa.js → HeroSlider.ee1e6200.js} +1 -1
  64. package/packages/storefront/dist/client/_astro/{PitchBar.7407eeaf.js → PitchBar.6111676e.js} +1 -1
  65. package/packages/storefront/dist/client/_astro/{Prices.562a32ab.js → Prices.04ff8fce.js} +1 -1
  66. package/packages/storefront/dist/client/_astro/{ProductShelf.763cd2ca.js → ProductShelf.085721d6.js} +1 -1
  67. package/packages/storefront/dist/client/_astro/{ShopHeader.126900a6.js → ShopHeader.7e485e35.js} +2 -2
  68. package/packages/storefront/dist/client/_astro/_...slug_.b693913e.css +1 -0
  69. package/packages/storefront/dist/client/_astro/{firebase-app.93857bfb.js → firebase-app.8c541cce.js} +3 -3
  70. package/packages/storefront/dist/client/_astro/hoisted.85fdcf03.js +1 -0
  71. package/packages/storefront/dist/client/_astro/index.ea57babe.js +1 -0
  72. package/packages/storefront/dist/client/_astro/{modules-info.48980668.js → modules-info.e5d77bf3.js} +1 -1
  73. package/packages/storefront/dist/client/sw.js +1 -1
  74. package/packages/storefront/dist/server/chunks/{CartSidebar.2b555408.mjs → CartSidebar.41b20543.mjs} +8 -7
  75. package/packages/storefront/dist/server/chunks/{SearchModal.f418e188.mjs → SearchModal.5f5e6a15.mjs} +2 -2
  76. package/packages/storefront/dist/server/chunks/{_...d32bcc0c.mjs → _...4a2548d2.mjs} +3 -3
  77. package/packages/storefront/dist/server/chunks/{account@_@astro.0106855f.mjs → account@_@astro.204fba92.mjs} +3 -3
  78. package/packages/storefront/dist/server/chunks/{astro.bb5b7191.mjs → astro.708269c6.mjs} +2 -2
  79. package/packages/storefront/dist/server/chunks/{endpoint@_@js.35807882.mjs → endpoint@_@js.11be892a.mjs} +3 -3
  80. package/packages/storefront/dist/server/chunks/{index@_@astro.477f5af1.mjs → index@_@astro.19e0f502.mjs} +3 -3
  81. package/packages/storefront/dist/server/chunks/{index@_@astro.e5a61d6e.mjs → index@_@astro.b37a6ac9.mjs} +3 -3
  82. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.fd8a229f.mjs → _...slug_.astro.36e8882b.mjs} +45 -17
  83. package/packages/storefront/dist/server/chunks/pages/{account.astro.3b21bff8.mjs → account.astro.32e7e6ef.mjs} +1 -1
  84. package/packages/storefront/dist/server/chunks/pages/{endpoint.js.247079ba.mjs → endpoint.js.f7a896a1.mjs} +1 -1
  85. package/packages/storefront/dist/server/chunks/pages/{index.astro.dab642f5.mjs → index.astro.3145bd93.mjs} +166 -17
  86. package/packages/storefront/dist/server/chunks/pages/{~fallback.astro.7630c0d6.mjs → ~fallback.astro.ba4c2475.mjs} +2 -2
  87. package/packages/storefront/dist/server/chunks/{~fallback@_@astro.65227dd7.mjs → ~fallback@_@astro.6bb4c4b4.mjs} +3 -3
  88. package/packages/storefront/dist/server/entry.mjs +9 -9
  89. package/packages/storefront/dist/server/renderers.mjs +2 -2
  90. package/packages/storefront/package.json +6 -6
  91. package/packages/storefront/src/lib/layouts/BaseHead.astro +6 -2
  92. package/packages/test-base/package.json +1 -1
  93. package/packages/types/modules/@checkout:params.d.ts +1 -1
  94. package/packages/types/package.json +1 -1
  95. package/pnpm-workspace.yaml +0 -2
  96. package/ecomplus-stores/iluminim/.ecomplus.cd.json +0 -5
  97. package/packages/storefront/dist/client/_astro/CartSidebar.eadba34f.js +0 -1
  98. package/packages/storefront/dist/client/_astro/_...slug_.36cd433d.css +0 -1
  99. package/packages/storefront/dist/client/_astro/hoisted.572313d6.js +0 -1
  100. package/packages/storefront/dist/client/_astro/index.709ac149.js +0 -1
  101. /package/packages/storefront/dist/client/{workbox-5e0bf4e4.js → workbox-1b331600.js} +0 -0
@@ -8,7 +8,7 @@ import sizeOf from 'image-size';
8
8
  import 'magic-string';
9
9
  import mime from 'mime';
10
10
  import 'node:stream';
11
- import { c as createAstro, a as createComponent, r as renderTemplate, u as unescapeHTML, b as renderComponent, d as addAttribute, F as Fragment, s as spreadAttributes, e as renderSlotToString, f as renderAllHeadContent, m as maybeRenderHead, g as renderSlot } from '../astro.bb5b7191.mjs';
11
+ import { c as createAstro, a as createComponent, r as renderTemplate, b as addAttribute, d as renderComponent, u as unescapeHTML, F as Fragment, s as spreadAttributes, e as renderSlotToString, f as renderAllHeadContent, m as maybeRenderHead, g as renderSlot } from '../astro.708269c6.mjs';
12
12
  import api from '@cloudcommerce/api';
13
13
  import { EventEmitter } from 'node:events';
14
14
  import fs from 'node:fs';
@@ -152,7 +152,9 @@ global.__storefrontCMS = (fs, resolvePath) => {
152
152
  const dirColl = resolvePath(dirContent, filename);
153
153
  return new Promise((resolve) => {
154
154
  const slugs = fs.existsSync(dirColl)
155
- ? fs.readdirSync(dirColl).map((file) => file.replace('.json', ''))
155
+ ? fs.readdirSync(dirColl)
156
+ .filter((file) => file.charAt(0) !== '.')
157
+ .map((file) => file.replace(/\.[^.]{0,5}$/, ''))
156
158
  : [];
157
159
  resolve(slugs);
158
160
  });
@@ -265,7 +267,7 @@ const _getConfig = () => {
265
267
  };
266
268
  };
267
269
 
268
- const emitter = new EventEmitter();
270
+ const emitter$1 = new EventEmitter();
269
271
  const getConfig = _getConfig;
270
272
  if (!globalThis.$apiMergeConfig) {
271
273
  globalThis.$apiMergeConfig = {
@@ -280,7 +282,7 @@ if (!globalThis.$storefront) {
280
282
  globalThis.$storefront = {
281
283
  settings: {},
282
284
  onLoad(callback) {
283
- emitter.once("load", callback);
285
+ emitter$1.once("load", callback);
284
286
  },
285
287
  data: {}
286
288
  };
@@ -411,12 +413,22 @@ const loadRouteContext = async (Astro, {
411
413
  isPreview
412
414
  };
413
415
  Astro.locals.routeContext = routeContext;
414
- emitter.emit("load", routeContext);
416
+ emitter$1.emit("load", routeContext);
415
417
  return routeContext;
416
418
  };
417
419
 
418
420
  const pwaInfo = {"pwaInDevEnvironment":false,"webManifest":{"href":"/manifest.webmanifest","useCredentials":false,"linkTag":"<link rel=\"manifest\" href=\"/manifest.webmanifest\">"}};
419
421
 
422
+ const $$Astro$9 = createAstro("https://ecom2-demo.web.app");
423
+ const $$ViewTransitions = createComponent(async ($$result, $$props, $$slots) => {
424
+ const Astro2 = $$result.createAstro($$Astro$9, $$props, $$slots);
425
+ Astro2.self = $$ViewTransitions;
426
+ const { fallback = "animate" } = Astro2.props;
427
+ return renderTemplate`<meta name="astro-view-transitions-enabled" content="true">
428
+ <meta name="astro-view-transitions-fallback"${addAttribute(fallback, "content")}>
429
+ `;
430
+ }, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/astro/components/ViewTransitions.astro", void 0);
431
+
420
432
  var __freeze$2 = Object.freeze;
421
433
  var __defProp$2 = Object.defineProperty;
422
434
  var __template$2 = (cooked, raw) => __freeze$2(__defProp$2(cooked, "raw", { value: __freeze$2(raw || cooked.slice()) }));
@@ -449,7 +461,7 @@ const $$BaseHead = createComponent(async ($$result, $$props, $$slots) => {
449
461
  }
450
462
  const apiDoc = apiContext.doc;
451
463
  const state = apiDoc || cmsContent || {};
452
- const title = state.meta_title || state.name || state.title || Astro2.props.title || settings.name;
464
+ const title = state.meta_title || state.name || state.title || settings.name;
453
465
  const description = state.meta_description || state.short_description || settings.description;
454
466
  const favicon = settings.icon ? getIconUrl(32) : "/favicon.ico";
455
467
  const shortcutIcon = settings.icon ? getIconUrl(192) : null;
@@ -524,7 +536,7 @@ window.$isCmsPreview = true;`;
524
536
  url: `https://${domain}/`,
525
537
  logo: `https://${domain}${settings.logo}`
526
538
  });
527
- return renderTemplate(_a$2 || (_a$2 = __template$2(['<meta charset="UTF-8">\n<meta name="viewport" content="width=device-width">\n<meta name="theme-color"', '>\n<link rel="icon" type="image/png"', ' sizes="32x32">\n', "\n<title>", '</title>\n<meta name="description"', '>\n<meta name="author"', '>\n<meta name="generator"', '>\n<link rel="canonical"', ">\n", '\n<meta name="apple-mobile-web-app-capable" content="yes">\n<meta name="apple-mobile-web-app-status-bar-style" content="default">\n<meta property="og:site_name"', '>\n<meta property="og:url"', '>\n<meta property="og:title"', '>\n<meta property="og:description"', '>\n<meta property="og:type" content="website">\n<meta property="og:locale"', ">\n", "\n", '\n<meta name="twitter:card" content="summary">\n', '\n<meta name="ecom-store-id"', ">\n\n", "\n", "\n\n<script>", '<\/script>\n<script type="application/ld+json">', "<\/script>"])), addAttribute(primaryColor, "content"), addAttribute(favicon, "href"), shortcutIcon && renderTemplate`<link rel="icon" type="image/png"${addAttribute(shortcutIcon, "href")} sizes="192x192">`, title, addAttribute(description, "content"), addAttribute(settings.name, "content"), addAttribute(Astro2.generator, "content"), addAttribute(canonicalUrl, "href"), shortcutIcon && renderTemplate`<link rel="apple-touch-icon"${addAttribute(shortcutIcon, "href")}>`, addAttribute(settings.name, "content"), addAttribute(canonicalUrl, "content"), addAttribute(title, "content"), addAttribute(description, "content"), addAttribute(ogLocale, "content"), ogImage && renderTemplate`<meta property="og:image"${addAttribute(ogImage, "content")}>`, metatagsContent?.fb_app_id && renderTemplate`<meta property="fb:app_id"${addAttribute(metatagsContent.fb_app_id, "content")}>`, metatagsContent?.twitter_username && renderTemplate`<meta name="twitter:site"${addAttribute(metatagsContent.twitter_username, "content")}>`, addAttribute(String(storeId), "content"), pwaInfo && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`${unescapeHTML(pwaInfo.webManifest.linkTag)}` })}`, !pwaInfo && !false && renderTemplate`<link rel="manifest" href="/manifest.webmanifest">`, unescapeHTML(inlineClientJS), unescapeHTML(inlineJSONLd));
539
+ return renderTemplate(_a$2 || (_a$2 = __template$2(['<meta charset="UTF-8">\n<meta name="viewport" content="width=device-width">\n<meta name="theme-color"', '>\n<link rel="icon" type="image/png"', ' sizes="32x32">\n', "\n<title>", '</title>\n<meta name="description"', '>\n<meta name="author"', '>\n<meta name="generator"', '>\n<link rel="canonical"', ">\n", '\n<meta name="apple-mobile-web-app-capable" content="yes">\n<meta name="apple-mobile-web-app-status-bar-style" content="default">\n<meta property="og:site_name"', '>\n<meta property="og:url"', '>\n<meta property="og:title"', '>\n<meta property="og:description"', '>\n<meta property="og:type" content="website">\n<meta property="og:locale"', ">\n", "\n", '\n<meta name="twitter:card" content="summary">\n', '\n<meta name="ecom-store-id"', ">\n\n\n", "\n", "\n\n<script>", '<\/script>\n<script type="application/ld+json">', "<\/script>\n\n", ""])), addAttribute(primaryColor, "content"), addAttribute(favicon, "href"), shortcutIcon && renderTemplate`<link rel="icon" type="image/png"${addAttribute(shortcutIcon, "href")} sizes="192x192">`, title, addAttribute(description, "content"), addAttribute(settings.name, "content"), addAttribute(Astro2.generator, "content"), addAttribute(canonicalUrl, "href"), shortcutIcon && renderTemplate`<link rel="apple-touch-icon"${addAttribute(shortcutIcon, "href")}>`, addAttribute(settings.name, "content"), addAttribute(canonicalUrl, "content"), addAttribute(title, "content"), addAttribute(description, "content"), addAttribute(ogLocale, "content"), ogImage && renderTemplate`<meta property="og:image"${addAttribute(ogImage, "content")}>`, metatagsContent?.fb_app_id && renderTemplate`<meta property="fb:app_id"${addAttribute(metatagsContent.fb_app_id, "content")}>`, metatagsContent?.twitter_username && renderTemplate`<meta name="twitter:site"${addAttribute(metatagsContent.twitter_username, "content")}>`, addAttribute(String(storeId), "content"), pwaInfo && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": ($$result2) => renderTemplate`${unescapeHTML(pwaInfo.webManifest.linkTag)}` })}`, !pwaInfo && !false && renderTemplate`<link rel="manifest" href="/manifest.webmanifest">`, unescapeHTML(inlineClientJS), unescapeHTML(inlineJSONLd), renderComponent($$result, "ViewTransitions", $$ViewTransitions, {}));
528
540
  }, "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro", void 0);
529
541
 
530
542
  function has(value) {
@@ -749,7 +761,7 @@ async function getImage(transform) {
749
761
  }
750
762
  let loader = (_a = globalThis.astroImage) == null ? void 0 : _a.loader;
751
763
  if (!loader) {
752
- const { default: mod } = await import('./endpoint.js.247079ba.mjs').then(n => n.s).catch(() => {
764
+ const { default: mod } = await import('./endpoint.js.f7a896a1.mjs').then(n => n.s).catch(() => {
753
765
  throw new Error(
754
766
  "[@astrojs/image] Builtin image loader not found. (Did you remember to add the integration to your Astro config?)"
755
767
  );
@@ -1286,9 +1298,21 @@ const usePageHeader = async ({ routeContext, listedCategoryFields }) => {
1286
1298
  };
1287
1299
  };
1288
1300
 
1289
- const useSharedData = ({ field, value }) => {
1290
- global.$storefront.data[field] = value;
1301
+ const emitter = new EventEmitter();
1302
+ const useSharedData = async ({ field, value }) => {
1303
+ const $data = global.$storefront.data;
1304
+ if (value) {
1305
+ $data[field] = value;
1306
+ emitter.emit(field, value);
1307
+ } else if ($data[field]) {
1308
+ value = $data[field];
1309
+ } else {
1310
+ value = await new Promise((resolve) => {
1311
+ emitter.once(field, resolve);
1312
+ });
1313
+ }
1291
1314
  return {
1315
+ value,
1292
1316
  inlineClientJS: `
1293
1317
  window.$storefront.data['${field}'] = ${JSON.stringify(value)};`
1294
1318
  };
@@ -3564,8 +3588,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3564
3588
  setup(__props, { expose: __expose }) {
3565
3589
  __expose();
3566
3590
  const props = __props;
3567
- const SearchModal = defineAsyncComponent(() => import('../SearchModal.f418e188.mjs'));
3568
- const CartSidebar = defineAsyncComponent(() => import('../CartSidebar.2b555408.mjs'));
3591
+ const SearchModal = defineAsyncComponent(() => import('../SearchModal.5f5e6a15.mjs'));
3592
+ const CartSidebar = defineAsyncComponent(() => import('../CartSidebar.41b20543.mjs'));
3569
3593
  const header = ref(null);
3570
3594
  const {
3571
3595
  isSticky,
@@ -3589,8 +3613,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3589
3613
  onMounted(() => {
3590
3614
  isMounted.value = true;
3591
3615
  watch(totalItems, (newTotalItems, prevTotalItems) => {
3592
- if (typeof prevTotalItems === "number" && prevTotalItems < newTotalItems) {
3593
- isCartOpen.value = true;
3616
+ if (typeof prevTotalItems === "number") {
3617
+ if (prevTotalItems < newTotalItems) {
3618
+ isCartOpen.value = true;
3619
+ } else if (prevTotalItems && !newTotalItems) {
3620
+ isCartOpen.value = false;
3621
+ }
3594
3622
  }
3595
3623
  delayedTotalItems.value = newTotalItems;
3596
3624
  }, { immediate: true });
@@ -3608,7 +3636,7 @@ function _sfc_ssrRender(_ctx, _push, _parent, _attrs, $props, $setup, $data, $op
3608
3636
  $setup.isSticky && !$setup.isSidenavOpen ? "bg-white/80" : "bg-white",
3609
3637
  $setup.isSticky ? "backdrop-blur-md shadow py-2 md:py-3" : "py-3 sm:py-4 md:py-5"
3610
3638
  ]]
3611
- }, _attrs))}><div 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"><div class="basis-1/4 lg:hidden"><button class="px-2 my-1"${ssrRenderAttr("aria-label", "Abrir/fechar menu")}><i class="${ssrRenderClass([$setup.isSidenavOpen ? "i-close" : "i-bars-3-bottom-left", "text-base-500 text-3xl"])}"></i></button></div>`);
3639
+ }, _attrs))}><div class="w-screen lg:w-[calc(100vw-1rem)] xl:max-w-[82rem] 2xl:max-w-[85rem] mx-auto px-1 sm:pl-2 sm:pr-2.5 lg:px-1 flex md:grid grid-flow-col grid-cols-3 lg:grid-cols-none lg:auto-cols-max justify-between items-center"><div class="basis-1/4 lg:hidden"><button class="px-2 my-1"${ssrRenderAttr("aria-label", "Abrir/fechar menu")}><i class="${ssrRenderClass([$setup.isSidenavOpen ? "i-close" : "i-bars-3-bottom-left", "text-base-500 text-3xl"])}"></i></button></div>`);
3612
3640
  ssrRenderSlot(_ctx.$slots, "logo", {}, null, _push, _parent);
3613
3641
  _push(ssrRenderComponent($setup["ShopHeaderMenu"], mergeProps({ class: "hidden lg:block" }, { inlineMenuTrees: $setup.inlineMenuTrees }), null, _parent));
3614
3642
  _push(`<div class="basis-1/4 px-2 flex justify-end items-center gap-3 lg:gap-4 text-base-800"><button${ssrRenderAttr("aria-label", "Buscar produtos")}><i class="i-magnifying-glass w-7 h-7 hover:text-primary hover:scale-110 active:scale-125"></i></button>`);
@@ -3778,7 +3806,7 @@ const $$PageHeader = createComponent(async ($$result, $$props, $$slots) => {
3778
3806
  pitchBar,
3779
3807
  shopHeader: { categories, ...shopHeader }
3780
3808
  } = await usePageHeader({ routeContext });
3781
- const { inlineClientJS } = useSharedData({
3809
+ const { inlineClientJS } = await useSharedData({
3782
3810
  field: "categories",
3783
3811
  value: categories?.map(({ _id, ...c }) => c)
3784
3812
  });
@@ -3848,4 +3876,4 @@ const ____slug_ = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
3848
3876
  url: $$url
3849
3877
  }, Symbol.toStringTag, { value: 'Module' }));
3850
3878
 
3851
- export { $$Picture as $, BaseSSRService as B, Carousel as C, SocialNetworkLink as S, _export_sfc as _, CarouselControl as a, availableExtraDiscount as b, installmentsOption as c, discountOption as d, addProductToCart as e, loadRouteContext as f, $$BaseHead as g, $$PageHeader as h, isOutputFormatSupportsAlpha as i, $$Base as j, parseProduct as k, loyaltyPointsPrograms as l, freeShippingFromValue as m, shoppingCart as n, ____slug_ as o, parseShippingPhrase as p, removeCartItem as r, socialNetworks as s, totalItems as t, useId as u };
3879
+ export { $$Picture as $, BaseSSRService as B, Carousel as C, SocialNetworkLink as S, _export_sfc as _, CarouselControl as a, availableExtraDiscount as b, installmentsOption as c, discountOption as d, addProductToCart as e, filterMainCategories as f, loadRouteContext as g, $$BaseHead as h, isOutputFormatSupportsAlpha as i, $$PageHeader as j, $$Base as k, loyaltyPointsPrograms as l, parseProduct as m, useId as n, freeShippingFromValue as o, parseShippingPhrase as p, shoppingCart as q, removeCartItem as r, socialNetworks as s, totalItems as t, useSharedData as u, ____slug_ as v };
@@ -1,4 +1,4 @@
1
- import { c as createAstro, a as createComponent, r as renderTemplate } from '../astro.bb5b7191.mjs';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate } from '../astro.708269c6.mjs';
2
2
  import 'path-to-regexp';
3
3
  import 'cookie';
4
4
  import '@astrojs/internal-helpers/path';
@@ -1,6 +1,6 @@
1
1
  import mime from 'mime';
2
2
  import sharp$1 from 'sharp';
3
- import { B as BaseSSRService, i as isOutputFormatSupportsAlpha } from './_...slug_.astro.fd8a229f.mjs';
3
+ import { B as BaseSSRService, i as isOutputFormatSupportsAlpha } from './_...slug_.astro.36e8882b.mjs';
4
4
 
5
5
  class SharpService extends BaseSSRService {
6
6
  async transform(inputBuffer, transform) {
@@ -1,7 +1,7 @@
1
- import { c as createAstro, a as createComponent, r as renderTemplate, b as renderComponent, F as Fragment, m as maybeRenderHead, d as addAttribute, u as unescapeHTML } from '../astro.bb5b7191.mjs';
2
- import { _ as _export_sfc, s as socialNetworks, S as SocialNetworkLink, $ as $$Picture, p as parseShippingPhrase, C as Carousel, a as CarouselControl, b as availableExtraDiscount, c as installmentsOption, d as discountOption, l as loyaltyPointsPrograms, e as addProductToCart, f as loadRouteContext, g as $$BaseHead, h as $$PageHeader, j as $$Base } from './_...slug_.astro.fd8a229f.mjs';
3
- import { useSSRContext, defineComponent, computed, mergeProps, createVNode, resolveDynamicComponent, resolveComponent, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, ref, shallowReactive, withDirectives, vShow, Fragment as Fragment$1, renderList, withModifiers, withAsyncContext } from 'vue';
4
- import { ssrRenderAttrs, ssrInterpolate, ssrRenderVNode, ssrRenderSlot, ssrRenderList, ssrRenderComponent, ssrRenderStyle, ssrRenderClass, ssrRenderAttr } from 'vue/server-renderer';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate, d as renderComponent, F as Fragment, m as maybeRenderHead, b as addAttribute, u as unescapeHTML } from '../astro.708269c6.mjs';
2
+ import { _ as _export_sfc, s as socialNetworks, S as SocialNetworkLink, u as useSharedData, f as filterMainCategories, $ as $$Picture, p as parseShippingPhrase, C as Carousel, a as CarouselControl, b as availableExtraDiscount, c as installmentsOption, d as discountOption, l as loyaltyPointsPrograms, e as addProductToCart, g as loadRouteContext, h as $$BaseHead, j as $$PageHeader, k as $$Base } from './_...slug_.astro.36e8882b.mjs';
3
+ import { useSSRContext, defineComponent, computed, mergeProps, createVNode, resolveDynamicComponent, resolveComponent, createSlots, withCtx, toDisplayString, createTextVNode, renderSlot, openBlock, createBlock, createCommentVNode, ref, shallowReactive, withDirectives, vShow, Fragment as Fragment$1, renderList, withModifiers, withAsyncContext } from 'vue';
4
+ import { ssrRenderAttrs, ssrInterpolate, ssrRenderVNode, ssrRenderSlot, ssrRenderList, ssrRenderComponent, ssrRenderClass, ssrRenderStyle, ssrRenderAttr } from 'vue/server-renderer';
5
5
  import api from '@cloudcommerce/api';
6
6
  import { inStock, price, name, img, onPromotion } from '@ecomplus/utils';
7
7
  import { useElementHover, watchOnce } from '@vueuse/core';
@@ -60,7 +60,11 @@ const PaymentMethodFlag = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["ssrRender"
60
60
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
61
61
  __name: "ShopFooter",
62
62
  props: {
63
- stamps: {}
63
+ stamps: {},
64
+ categories: {},
65
+ categoriesColTitle: {},
66
+ pageLinks: {},
67
+ pagesColTitle: {}
64
68
  },
65
69
  setup(__props, { expose: __expose }) {
66
70
  __expose();
@@ -73,18 +77,136 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
73
77
  });
74
78
  function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
75
79
  const _component_ALink = resolveComponent("ALink");
76
- _push(`<footer${ssrRenderAttrs(mergeProps({ class: "w-screen bg-base-50 border-t border-base-100 py-2" }, _attrs))}><div class="ui-section"><div class="pb-7 border-b border-base-200 flex"><div class="text-base">`);
80
+ _push(`<footer${ssrRenderAttrs(mergeProps({ class: "w-screen bg-base-50 border-t border-base-100 py-2" }, _attrs))}><div class="ui-section"><div class="pb-7 border-b border-base-200 flex justify-between flex-wrap lg:flex-nowrap sm:gap-x-10 gap-y-5"><div class="shrink">`);
77
81
  ssrRenderSlot(_ctx.$slots, "logo", {}, null, _push, _parent);
78
- _push(`<p class="my-3">${ssrInterpolate(_ctx.$settings.description)}</p><div class="flex gap-2 text-base-500"><!--[-->`);
82
+ if (_ctx.$settings.description) {
83
+ _push(`<div class="prose"><p>${ssrInterpolate(_ctx.$settings.description)}</p></div>`);
84
+ } else {
85
+ _push(`<!---->`);
86
+ }
87
+ _push(`<div class="flex gap-2 text-base-500"><!--[-->`);
79
88
  ssrRenderList($setup.socialNetworks, (href, network) => {
80
89
  _push(`<span>`);
81
90
  _push(ssrRenderComponent($setup["SocialNetworkLink"], {
82
91
  network,
83
92
  class: "p-1 hover:text-primary"
84
- }, null, _parent));
93
+ }, createSlots({ _: 2 }, [
94
+ network === "whatsapp" ? {
95
+ name: "append",
96
+ fn: withCtx((_, _push2, _parent2, _scopeId) => {
97
+ if (_push2) {
98
+ _push2(`<span class="ml-1 text-sm text-base-600"${_scopeId}>${ssrInterpolate(_ctx.$settings.whatsapp)}</span>`);
99
+ } else {
100
+ return [
101
+ createVNode("span", { class: "ml-1 text-sm text-base-600" }, toDisplayString(_ctx.$settings.whatsapp), 1)
102
+ ];
103
+ }
104
+ }),
105
+ key: "0"
106
+ } : void 0
107
+ ]), _parent));
85
108
  _push(`</span>`);
86
109
  });
87
- _push(`<!--]--></div></div></div></div><div class="ui-section"><div class="flex justify-between items-start gap-5"><ul class="flex flex-wrap gap-y-3 gap-x-6 lg:gap-x-8"><!--[-->`);
110
+ _push(`<!--]--></div>`);
111
+ if (_ctx.$settings.address || _ctx.$settings.phone) {
112
+ _push(`<div class="mt-3 text-base-700">`);
113
+ if (_ctx.$settings.address) {
114
+ _push(`<address class="inline-block mr-4">${ssrInterpolate(_ctx.$settings.address)}</address>`);
115
+ } else {
116
+ _push(`<!---->`);
117
+ }
118
+ if (_ctx.$settings.phone) {
119
+ _push(ssrRenderComponent(_component_ALink, {
120
+ href: `tel:${_ctx.$settings.phone.replace(/\D/g, "")}`,
121
+ class: "hover:text-primary"
122
+ }, {
123
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
124
+ if (_push2) {
125
+ _push2(`<i class="i-phone mr-0.5"${_scopeId}></i> ${ssrInterpolate(_ctx.$settings.phone)}`);
126
+ } else {
127
+ return [
128
+ createVNode("i", { class: "i-phone mr-0.5" }),
129
+ createTextVNode(" " + toDisplayString(_ctx.$settings.phone), 1)
130
+ ];
131
+ }
132
+ }),
133
+ _: 1
134
+ }, _parent));
135
+ } else {
136
+ _push(`<!---->`);
137
+ }
138
+ _push(`</div>`);
139
+ } else {
140
+ _push(`<!---->`);
141
+ }
142
+ _push(`</div>`);
143
+ if ($props.categories?.length) {
144
+ _push(`<div class="basis-1/2 sm:basis-auto"><div class="text-lg font-medium mb-2.5">${ssrInterpolate($props.categoriesColTitle || "Categorias")}</div><ul class="${ssrRenderClass([$props.categories.length > 4 ? "grid md:grid-cols-2 gap-x-5 gap-y-1.5" : "space-y-1.5", "text-sm"])}"><!--[-->`);
145
+ ssrRenderList($props.categories, ({ name, slug }, i) => {
146
+ _push(`<li>`);
147
+ _push(ssrRenderComponent(_component_ALink, {
148
+ href: `/${slug}`,
149
+ class: "ui-link text-base-600"
150
+ }, {
151
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
152
+ if (_push2) {
153
+ _push2(`${ssrInterpolate(name)}`);
154
+ } else {
155
+ return [
156
+ createTextVNode(toDisplayString(name), 1)
157
+ ];
158
+ }
159
+ }),
160
+ _: 2
161
+ }, _parent));
162
+ _push(`</li>`);
163
+ });
164
+ _push(`<!--]--><li>`);
165
+ _push(ssrRenderComponent(_component_ALink, {
166
+ href: "/s",
167
+ class: "ui-link text-base-900"
168
+ }, {
169
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
170
+ if (_push2) {
171
+ _push2(`${ssrInterpolate("Todos os produtos")}`);
172
+ } else {
173
+ return [
174
+ createTextVNode(toDisplayString("Todos os produtos"))
175
+ ];
176
+ }
177
+ }),
178
+ _: 1
179
+ }, _parent));
180
+ _push(`</li></ul></div>`);
181
+ } else {
182
+ _push(`<!---->`);
183
+ }
184
+ if ($props.pageLinks?.length) {
185
+ _push(`<div class="basis-1/2 sm:basis-auto"><div class="text-lg font-medium mb-2.5">${ssrInterpolate($props.pagesColTitle || "Institucional")}</div><ul class="${ssrRenderClass([$props.pageLinks.length > 5 ? "grid md:grid-cols-2 gap-x-5 gap-y-1.5" : "space-y-1.5", "text-sm"])}"><!--[-->`);
186
+ ssrRenderList($props.pageLinks, ({ title, href }, i) => {
187
+ _push(`<li>`);
188
+ _push(ssrRenderComponent(_component_ALink, {
189
+ href,
190
+ class: "ui-link text-base-600"
191
+ }, {
192
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
193
+ if (_push2) {
194
+ _push2(`${ssrInterpolate(title)}`);
195
+ } else {
196
+ return [
197
+ createTextVNode(toDisplayString(title), 1)
198
+ ];
199
+ }
200
+ }),
201
+ _: 2
202
+ }, _parent));
203
+ _push(`</li>`);
204
+ });
205
+ _push(`<!--]--></ul></div>`);
206
+ } else {
207
+ _push(`<!---->`);
208
+ }
209
+ _push(`</div></div><div class="ui-section"><div class="flex flex-wrap lg:flex-nowrap justify-between items-start gap-5"><ul class="flex gap-y-3 gap-x-6 lg:gap-x-8 items-center md:flex-wrap mx-auto md:mx-0 overflow-x-auto md:overflow-hidden"><!--[-->`);
88
210
  ssrRenderList($props.stamps, (stamp, i) => {
89
211
  _push(`<li>`);
90
212
  _push(ssrRenderComponent(_component_ALink, {
@@ -155,14 +277,14 @@ function _sfc_ssrRender$5(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
155
277
  }, _parent));
156
278
  _push(`</li>`);
157
279
  });
158
- _push(`<!--]--></ul><div class="flex flex-wrap md:flex-nowrap justify-end items-center gap-4 text-3xl md:text-2xl"><!--[-->`);
280
+ _push(`<!--]--></ul><div class="flex flex-wrap md:flex-nowrap justify-end items-center gap-4 text-2xl mx-auto md:mx-0 overflow-x-auto md:overflow-hidden"><!--[-->`);
159
281
  ssrRenderList(_ctx.$settings.payment_methods, (paymentMethod) => {
160
282
  _push(ssrRenderComponent($setup["PaymentMethodFlag"], {
161
283
  key: paymentMethod,
162
284
  flag: paymentMethod
163
285
  }, null, _parent));
164
286
  });
165
- _push(`<!--]--></div></div><div class="mt-6 text-xs text-center md:text-left md:flex justify-between gap-4"><div class="mb-3 md:mb-0"> @ ${ssrInterpolate(( new Date()).getFullYear())} ${ssrInterpolate(_ctx.$settings.corporate_name)} ${ssrInterpolate(_ctx.$settings.address ? `/ ${_ctx.$settings.address}` : "")} / ${ssrInterpolate(_ctx.$settings.doc_number)}</div>`);
287
+ _push(`<!--]--></div></div><div class="mt-7 text-xs text-center md:text-left md:flex justify-between gap-4"><div class="mb-3 md:mb-0"> @ ${ssrInterpolate(( new Date()).getFullYear())} ${ssrInterpolate(_ctx.$settings.corporate_name)} ${ssrInterpolate(_ctx.$settings.address ? `/ ${_ctx.$settings.address}` : "")} / ${ssrInterpolate(_ctx.$settings.doc_number)}</div>`);
166
288
  _push(ssrRenderComponent(_component_ALink, {
167
289
  href: "https://www.ecomplus.io/",
168
290
  class: "italic text-[#37003c]"
@@ -198,9 +320,37 @@ const $$PageFooter = createComponent(async ($$result, $$props, $$slots) => {
198
320
  const LogoHeading = isHomepage ? "h2" : "h3";
199
321
  const layoutContent = await getContent("layout");
200
322
  const {
201
- footer: { stamps }
323
+ footer: {
324
+ stamps,
325
+ categories_list: categoriesList,
326
+ pages_list: pagesList
327
+ }
202
328
  } = layoutContent;
203
- return renderTemplate`${renderComponent($$result, "ShopFooter", ShopFooter, { "stamps": stamps }, { "logo": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "logo" }, { "default": ($$result3) => renderTemplate`
329
+ let mainCategories;
330
+ let pageLinks;
331
+ if (categoriesList?.enabled) {
332
+ if (categoriesList.categories?.length) {
333
+ mainCategories = categoriesList.categories;
334
+ } else {
335
+ const { value: categories } = await useSharedData({ field: "categories" });
336
+ mainCategories = filterMainCategories(categories);
337
+ }
338
+ }
339
+ if (pagesList?.enabled) {
340
+ if (pagesList.links?.length) {
341
+ pageLinks = pagesList.links;
342
+ } else {
343
+ pageLinks = [];
344
+ const pageSlugs = await getContent("extra-pages/");
345
+ for (let i = 0; i < pageSlugs.length; i++) {
346
+ const { title } = await getContent(`extra-pages/${pageSlugs[i]}`);
347
+ if (title) {
348
+ pageLinks.push({ title, href: `/p/${pageSlugs[i]}` });
349
+ }
350
+ }
351
+ }
352
+ }
353
+ return renderTemplate`${renderComponent($$result, "ShopFooter", ShopFooter, { "stamps": stamps, "categories": mainCategories, "categoriesColTitle": categoriesList?.title, "pageLinks": pageLinks, "pagesColTitle": pagesList?.title }, { "logo": ($$result2) => renderTemplate`${renderComponent($$result2, "Fragment", Fragment, { "slot": "logo" }, { "default": ($$result3) => renderTemplate`
204
354
  ${maybeRenderHead()}<a href="/">
205
355
  ${renderComponent($$result3, "LogoHeading", LogoHeading, {}, { "default": ($$result4) => renderTemplate`
206
356
  ${renderComponent($$result4, "Picture", $$Picture, { "src": settings.logo, "alt": settings.name, "widths": [300], "loading": "lazy", "class": "max-w-[150px]" })}
@@ -970,8 +1120,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
970
1120
  function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
971
1121
  const _component_Fade = resolveComponent("Fade");
972
1122
  _push(`<div${ssrRenderAttrs(mergeProps({
973
- class: ["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]", $props.isBig ? "text-lg" : null],
974
- "data-prices": ""
1123
+ class: ["text-base-600 [&>div]:[font-size:90%] [&_small]:[font-size:92%] [&_small]:lowercase", $props.isBig ? "text-lg" : null]
975
1124
  }, _attrs))}>`);
976
1125
  if ($setup.comparePrice) {
977
1126
  _push(`<span class="text-base-500 mr-1 text-[87%]">`);
@@ -1042,7 +1191,7 @@ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1042
1191
  }
1043
1192
  _push2(`<span${_scopeId}>${ssrInterpolate(_ctx.$money($setup.installmentValue))}</span>`);
1044
1193
  if (!$setup.monthlyInterest && $props.isLiteral) {
1045
- _push2(`<small${_scopeId}>${ssrInterpolate("Sem juros")}</small>`);
1194
+ _push2(`<small${_scopeId}>${ssrInterpolate(` ${"Sem juros"}`)}</small>`);
1046
1195
  } else {
1047
1196
  _push2(`<!---->`);
1048
1197
  }
@@ -1057,7 +1206,7 @@ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
1057
1206
  createTextVNode(" " + toDisplayString($setup.installmentsNumber) + "x ", 1),
1058
1207
  $props.isLiteral ? (openBlock(), createBlock("small", { key: 1 }, toDisplayString(` ${"De"} `))) : createCommentVNode("", true),
1059
1208
  createVNode("span", null, toDisplayString(_ctx.$money($setup.installmentValue)), 1),
1060
- !$setup.monthlyInterest && $props.isLiteral ? (openBlock(), createBlock("small", { key: 2 }, toDisplayString("Sem juros"))) : createCommentVNode("", true)
1209
+ !$setup.monthlyInterest && $props.isLiteral ? (openBlock(), createBlock("small", { key: 2 }, toDisplayString(` ${"Sem juros"}`))) : createCommentVNode("", true)
1061
1210
  ])) : createCommentVNode("", true)
1062
1211
  ];
1063
1212
  }
@@ -1,5 +1,5 @@
1
- import { c as createAstro, a as createComponent, r as renderTemplate, m as maybeRenderHead, d as addAttribute, b as renderComponent } from '../astro.bb5b7191.mjs';
2
- import { f as loadRouteContext, g as $$BaseHead, h as $$PageHeader, j as $$Base } from './_...slug_.astro.fd8a229f.mjs';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate, m as maybeRenderHead, b as addAttribute, d as renderComponent } from '../astro.708269c6.mjs';
2
+ import { g as loadRouteContext, h as $$BaseHead, j as $$PageHeader, k as $$Base } from './_...slug_.astro.36e8882b.mjs';
3
3
  import 'path-to-regexp';
4
4
  import 'cookie';
5
5
  import '@astrojs/internal-helpers/path';
@@ -1,6 +1,6 @@
1
1
  export { renderers } from '../renderers.mjs';
2
2
  export { onRequest } from '../_empty-middleware.mjs';
3
- import './astro.bb5b7191.mjs';
3
+ import './astro.708269c6.mjs';
4
4
  import 'path-to-regexp';
5
5
  import 'cookie';
6
6
  import '@astrojs/internal-helpers/path';
@@ -14,7 +14,7 @@ import 'html-escaper';
14
14
  import 'vue';
15
15
  import 'vue/server-renderer';
16
16
  import '@ecomplus/utils';
17
- import './pages/_...slug_.astro.fd8a229f.mjs';
17
+ import './pages/_...slug_.astro.36e8882b.mjs';
18
18
  import 'node:fs/promises';
19
19
  import 'node:path';
20
20
  import 'node:url';
@@ -30,6 +30,6 @@ import 'ultrahtml';
30
30
  /* empty css */import '@vueuse/core';
31
31
  import '@headlessui/vue';
32
32
 
33
- const page = () => import('./pages/~fallback.astro.7630c0d6.mjs');
33
+ const page = () => import('./pages/~fallback.astro.ba4c2475.mjs');
34
34
 
35
35
  export { page };
@@ -3,7 +3,7 @@ import { webcrypto } from 'node:crypto';
3
3
  import { ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStream, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web';
4
4
  import { File, FormData, Headers, Request, Response, fetch } from 'undici';
5
5
  import { setTimeout as setTimeout$1, clearTimeout as clearTimeout$1 } from 'node:timers';
6
- import { N as NodeApp, h as deserializeManifest } from './chunks/astro.bb5b7191.mjs';
6
+ import { N as NodeApp, h as deserializeManifest } from './chunks/astro.708269c6.mjs';
7
7
  import { Readable } from 'stream';
8
8
  import https from 'https';
9
9
  import path from 'node:path';
@@ -25,7 +25,7 @@ import 'html-escaper';
25
25
  import 'vue';
26
26
  import 'vue/server-renderer';
27
27
  import '@ecomplus/utils';
28
- import './chunks/pages/_...slug_.astro.fd8a229f.mjs';
28
+ import './chunks/pages/_...slug_.astro.36e8882b.mjs';
29
29
  import 'node:fs/promises';
30
30
  import 'http-cache-semantics';
31
31
  import 'node:os';
@@ -2881,13 +2881,13 @@ const adapter = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2881
2881
  start
2882
2882
  }, Symbol.toStringTag, { value: 'Module' }));
2883
2883
 
2884
- const _page0 = () => import('./chunks/endpoint@_@js.35807882.mjs');
2885
- const _page1 = () => import('./chunks/index@_@astro.e5a61d6e.mjs');
2886
- const _page2 = () => import('./chunks/~fallback@_@astro.65227dd7.mjs');
2887
- const _page3 = () => import('./chunks/index@_@astro.477f5af1.mjs');
2888
- const _page4 = () => import('./chunks/account@_@astro.0106855f.mjs');
2889
- const _page5 = () => import('./chunks/_...d32bcc0c.mjs');const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.14_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint.js", _page0],["src/pages/index.astro", _page1],["src/pages/~fallback.astro", _page2],["src/pages/app/index.astro", _page3],["src/pages/app/account.astro", _page4],["src/pages/[...slug].astro", _page5]]);
2890
- const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.14_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.572313d6.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.36cd433d.css"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.572313d6.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.36cd433d.css"}],"routeData":{"route":"/~fallback","type":"page","pattern":"^\\/~fallback\\/?$","segments":[[{"content":"~fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/~fallback.astro","pathname":"/~fallback","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.572313d6.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.36cd433d.css"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","prerender":false,"_meta":{"trailingSlash":"ignore"}}}],"site":"https://ecom2-demo.web.app","base":"/","compressHTML":false,"markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true},"componentMetadata":[],"renderers":[],"clientDirectives":[["idle","(()=>{var i=t=>{let e=async()=>{await(await t())()};\"requestIdleCallback\"in window?window.requestIdleCallback(e):setTimeout(e,200)};(self.Astro||(self.Astro={})).idle=i;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var s=(i,t)=>{let a=async()=>{await(await i())()};if(t.value){let e=matchMedia(t.value);e.matches?a():e.addEventListener(\"change\",a,{once:!0})}};(self.Astro||(self.Astro={})).media=s;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var r=(i,c,n)=>{let s=async()=>{await(await i())()},t=new IntersectionObserver(e=>{for(let o of e)if(o.isIntersecting){t.disconnect(),s();break}});for(let e of n.children)t.observe(e)};(self.Astro||(self.Astro={})).visible=r;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000empty-middleware":"_empty-middleware.mjs","/src/pages/app/account.astro":"chunks/pages/account.astro.3b21bff8.mjs","/src/pages/~fallback.astro":"chunks/pages/~fallback.astro.7630c0d6.mjs","\u0000@astro-page:../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.14_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint@_@js":"chunks/endpoint@_@js.35807882.mjs","\u0000@astro-page:src/pages/index@_@astro":"chunks/index@_@astro.e5a61d6e.mjs","\u0000@astro-page:src/pages/~fallback@_@astro":"chunks/~fallback@_@astro.65227dd7.mjs","\u0000@astro-page:src/pages/app/index@_@astro":"chunks/index@_@astro.477f5af1.mjs","\u0000@astro-page:src/pages/app/account@_@astro":"chunks/account@_@astro.0106855f.mjs","\u0000@astro-page:src/pages/[...slug]@_@astro":"chunks/_...d32bcc0c.mjs","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/components/SearchModal.vue":"_astro/SearchModal.cffd4c2d.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/components/CartSidebar.vue":"_astro/CartSidebar.eadba34f.js","~/components/PitchBar.vue":"_astro/PitchBar.7407eeaf.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.a7b12eab.js","/astro/hoisted.js?q=0":"_astro/hoisted.572313d6.js","~/components/HeroSlider.vue":"_astro/HeroSlider.1f0524aa.js","~/components/ProductShelf.vue":"_astro/ProductShelf.763cd2ca.js","@astrojs/vue/client.js":"_astro/client.e6d9439a.js","~/components/ShopHeader.vue":"_astro/ShopHeader.126900a6.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.93857bfb.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/_...slug_.36cd433d.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-5e0bf4e4.js","/_astro/Carousel.926668f2.js","/_astro/CartSidebar.eadba34f.js","/_astro/HeroSlider.1f0524aa.js","/_astro/PitchBar.7407eeaf.js","/_astro/Prices.562a32ab.js","/_astro/ProductShelf.763cd2ca.js","/_astro/SearchModal.cffd4c2d.js","/_astro/ShopHeader.126900a6.js","/_astro/_plugin-vue_export-helper.ee681fa8.js","/_astro/api.a2eda23e.js","/_astro/client.e6d9439a.js","/_astro/firebase-app.93857bfb.js","/_astro/format-money.923559cc.js","/_astro/hoisted.572313d6.js","/_astro/img.ec6ba316.js","/_astro/index.709ac149.js","/_astro/modules-info.48980668.js","/_astro/preload-helper.cf010ec4.js","/_astro/session-utm.744b0db3.js","/_astro/workbox-window.prod.es5.a7b12eab.js","/img/icon.png","/img/large-icon.png","/img/uploads/banner2.webp","/img/uploads/ecom-icon.png","/img/uploads/headphone.webp","/img/uploads/logo.png","/img/uploads/og-image.png","/img/uploads/passion.webp","/img/uploads/rect8589.png","/img/uploads/rect859.png","/img/uploads/rect89.webp"]}), {
2884
+ const _page0 = () => import('./chunks/endpoint@_@js.11be892a.mjs');
2885
+ const _page1 = () => import('./chunks/index@_@astro.b37a6ac9.mjs');
2886
+ const _page2 = () => import('./chunks/~fallback@_@astro.6bb4c4b4.mjs');
2887
+ const _page3 = () => import('./chunks/index@_@astro.19e0f502.mjs');
2888
+ const _page4 = () => import('./chunks/account@_@astro.204fba92.mjs');
2889
+ const _page5 = () => import('./chunks/_...4a2548d2.mjs');const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.15_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint.js", _page0],["src/pages/index.astro", _page1],["src/pages/~fallback.astro", _page2],["src/pages/app/index.astro", _page3],["src/pages/app/account.astro", _page4],["src/pages/[...slug].astro", _page5]]);
2890
+ const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.15_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.85fdcf03.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.b693913e.css"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.85fdcf03.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.b693913e.css"}],"routeData":{"route":"/~fallback","type":"page","pattern":"^\\/~fallback\\/?$","segments":[[{"content":"~fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/~fallback.astro","pathname":"/~fallback","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"styles":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[{"type":"external","value":"/_astro/hoisted.85fdcf03.js"}],"styles":[{"type":"external","src":"/_astro/_...slug_.b693913e.css"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","prerender":false,"_meta":{"trailingSlash":"ignore"}}}],"site":"https://ecom2-demo.web.app","base":"/","compressHTML":false,"markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true},"componentMetadata":[],"renderers":[],"clientDirectives":[["idle","(()=>{var i=t=>{let e=async()=>{await(await t())()};\"requestIdleCallback\"in window?window.requestIdleCallback(e):setTimeout(e,200)};(self.Astro||(self.Astro={})).idle=i;window.dispatchEvent(new Event(\"astro:idle\"));})();"],["load","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event(\"astro:load\"));})();"],["media","(()=>{var s=(i,t)=>{let a=async()=>{await(await i())()};if(t.value){let e=matchMedia(t.value);e.matches?a():e.addEventListener(\"change\",a,{once:!0})}};(self.Astro||(self.Astro={})).media=s;window.dispatchEvent(new Event(\"astro:media\"));})();"],["only","(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event(\"astro:only\"));})();"],["visible","(()=>{var r=(i,c,n)=>{let s=async()=>{await(await i())()},t=new IntersectionObserver(e=>{for(let o of e)if(o.isIntersecting){t.disconnect(),s();break}});for(let e of n.children)t.observe(e)};(self.Astro||(self.Astro={})).visible=r;window.dispatchEvent(new Event(\"astro:visible\"));})();"]],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","\u0000@astro-renderers":"renderers.mjs","\u0000empty-middleware":"_empty-middleware.mjs","/src/pages/app/account.astro":"chunks/pages/account.astro.32e7e6ef.mjs","/src/pages/~fallback.astro":"chunks/pages/~fallback.astro.ba4c2475.mjs","\u0000@astro-page:../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.15_sharp@0.32.5/node_modules/@astrojs/image/dist/endpoint@_@js":"chunks/endpoint@_@js.11be892a.mjs","\u0000@astro-page:src/pages/index@_@astro":"chunks/index@_@astro.b37a6ac9.mjs","\u0000@astro-page:src/pages/~fallback@_@astro":"chunks/~fallback@_@astro.6bb4c4b4.mjs","\u0000@astro-page:src/pages/app/index@_@astro":"chunks/index@_@astro.19e0f502.mjs","\u0000@astro-page:src/pages/app/account@_@astro":"chunks/account@_@astro.204fba92.mjs","\u0000@astro-page:src/pages/[...slug]@_@astro":"chunks/_...4a2548d2.mjs","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/components/SearchModal.vue":"_astro/SearchModal.cffd4c2d.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/components/CartSidebar.vue":"_astro/CartSidebar.a6c6a885.js","~/components/HeroSlider.vue":"_astro/HeroSlider.ee1e6200.js","~/components/ProductShelf.vue":"_astro/ProductShelf.085721d6.js","~/components/PitchBar.vue":"_astro/PitchBar.6111676e.js","@astrojs/vue/client.js":"_astro/client.e6d9439a.js","/astro/hoisted.js?q=0":"_astro/hoisted.85fdcf03.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.a7b12eab.js","~/components/ShopHeader.vue":"_astro/ShopHeader.7e485e35.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.8c541cce.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/_...slug_.b693913e.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-1b331600.js","/_astro/Carousel.9ad2e1dc.js","/_astro/CartSidebar.a6c6a885.js","/_astro/HeroSlider.ee1e6200.js","/_astro/PitchBar.6111676e.js","/_astro/Prices.04ff8fce.js","/_astro/ProductShelf.085721d6.js","/_astro/SearchModal.cffd4c2d.js","/_astro/ShopHeader.7e485e35.js","/_astro/_plugin-vue_export-helper.ee681fa8.js","/_astro/api.a2eda23e.js","/_astro/client.e6d9439a.js","/_astro/firebase-app.8c541cce.js","/_astro/format-money.923559cc.js","/_astro/hoisted.85fdcf03.js","/_astro/img.ec6ba316.js","/_astro/index.ea57babe.js","/_astro/modules-info.e5d77bf3.js","/_astro/preload-helper.cf010ec4.js","/_astro/session-utm.744b0db3.js","/_astro/workbox-window.prod.es5.a7b12eab.js","/img/icon.png","/img/large-icon.png","/img/uploads/banner2.webp","/img/uploads/ecom-icon.png","/img/uploads/headphone.webp","/img/uploads/logo.png","/img/uploads/og-image.png","/img/uploads/passion.webp","/img/uploads/rect8589.png","/img/uploads/rect859.png","/img/uploads/rect89.webp"]}), {
2891
2891
  pageMap,
2892
2892
  renderers,
2893
2893
  });
@@ -1,8 +1,8 @@
1
- import { i as server_default } from './chunks/astro.bb5b7191.mjs';
1
+ import { i as server_default } from './chunks/astro.708269c6.mjs';
2
2
  import { useSSRContext, defineComponent, computed, createVNode, resolveDynamicComponent, mergeProps, withCtx, renderSlot, h, createSSRApp } from 'vue';
3
3
  import { ssrRenderSlotInner, ssrRenderVNode, ssrRenderSlot, ssrRenderAttrs, ssrRenderClass, renderToString } from 'vue/server-renderer';
4
4
  import { img, imgSizes, i18n, formatMoney } from '@ecomplus/utils';
5
- import { _ as _export_sfc } from './chunks/pages/_...slug_.astro.fd8a229f.mjs';
5
+ import { _ as _export_sfc } from './chunks/pages/_...slug_.astro.36e8882b.mjs';
6
6
  import 'path-to-regexp';
7
7
  import 'cookie';
8
8
  import '@astrojs/internal-helpers/path';
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.26.2",
4
+ "version": "0.26.4",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "bin": {
7
7
  "storefront": "./scripts/build-prod.sh"
@@ -40,20 +40,20 @@
40
40
  "@headlessui/vue": "^1.7.16",
41
41
  "@iconify-json/fa6-brands": "^1.1.13",
42
42
  "@iconify-json/heroicons": "^1.1.12",
43
- "@iconify-json/logos": "^1.1.34",
44
- "@vite-pwa/astro": "^0.1.1",
43
+ "@iconify-json/logos": "^1.1.35",
44
+ "@vite-pwa/astro": "^0.1.2",
45
45
  "@vueuse/core": "10.4.1",
46
- "astro": "2.10.14",
46
+ "astro": "2.10.15",
47
47
  "astro-capo": "^0.0.1",
48
48
  "chroma-js": "^2.4.2",
49
49
  "dotenv": "^16.3.1",
50
- "firebase": "^10.3.0",
50
+ "firebase": "^10.3.1",
51
51
  "image-size": "^1.0.2",
52
52
  "mime": "^3.0.0",
53
53
  "semver": "^7.5.4",
54
54
  "sharp": "^0.32.5",
55
55
  "tailwindcss": "^3.3.3",
56
- "unocss": "^0.55.3",
56
+ "unocss": "^0.55.7",
57
57
  "vite": "^4.4.9",
58
58
  "vite-plugin-pwa": "^0.16.4",
59
59
  "vue": "^3.3.4"