cloudcommerce 0.23.0 → 0.23.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  3. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  4. package/ecomplus-stores/barra-doce/functions/ssr/src/main/Home.astro +18 -10
  5. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  6. package/ecomplus-stores/barra-doce/package.json +2 -3
  7. package/ecomplus-stores/iluminim/functions/many/package.json +3 -3
  8. package/ecomplus-stores/iluminim/functions/ssr/package.json +6 -6
  9. package/ecomplus-stores/iluminim/functions/with-apps/package.json +3 -3
  10. package/ecomplus-stores/iluminim/package.json +2 -3
  11. package/package.json +4 -4
  12. package/packages/api/package.json +1 -1
  13. package/packages/api/types/carts.d.ts +8 -0
  14. package/packages/api/types/orders.d.ts +8 -0
  15. package/packages/apps/affilate-program/package.json +1 -1
  16. package/packages/apps/correios/package.json +1 -1
  17. package/packages/apps/custom-payment/package.json +1 -1
  18. package/packages/apps/custom-shipping/package.json +1 -1
  19. package/packages/apps/datafrete/package.json +1 -1
  20. package/packages/apps/discounts/package.json +1 -1
  21. package/packages/apps/emails/package.json +1 -1
  22. package/packages/apps/fb-conversions/package.json +1 -1
  23. package/packages/apps/flash-courier/package.json +1 -1
  24. package/packages/apps/frenet/package.json +1 -1
  25. package/packages/apps/galaxpay/package.json +1 -1
  26. package/packages/apps/google-analytics/package.json +1 -1
  27. package/packages/apps/jadlog/package.json +1 -1
  28. package/packages/apps/loyalty-points/package.json +1 -1
  29. package/packages/apps/melhor-envio/package.json +1 -1
  30. package/packages/apps/mercadopago/package.json +1 -1
  31. package/packages/apps/pagarme/package.json +1 -1
  32. package/packages/apps/paghiper/package.json +1 -1
  33. package/packages/apps/pix/package.json +1 -1
  34. package/packages/apps/tiny-erp/package.json +1 -1
  35. package/packages/apps/webhooks/package.json +1 -1
  36. package/packages/cli/package.json +1 -1
  37. package/packages/config/package.json +1 -1
  38. package/packages/emails/package.json +1 -1
  39. package/packages/eslint/package.json +3 -3
  40. package/packages/events/package.json +1 -1
  41. package/packages/feeds/package.json +1 -1
  42. package/packages/firebase/package.json +1 -1
  43. package/packages/i18n/lib/en_us/i19minus.txt +1 -0
  44. package/packages/i18n/lib/en_us/i19plus.txt +1 -0
  45. package/packages/i18n/lib/en_us.d.ts +2 -0
  46. package/packages/i18n/lib/en_us.js +2 -0
  47. package/packages/i18n/lib/en_us.js.map +1 -1
  48. package/packages/i18n/lib/pt_br/i19minus.txt +1 -0
  49. package/packages/i18n/lib/pt_br/i19plus.txt +1 -0
  50. package/packages/i18n/lib/pt_br.d.ts +2 -0
  51. package/packages/i18n/lib/pt_br.js +2 -0
  52. package/packages/i18n/lib/pt_br.js.map +1 -1
  53. package/packages/i18n/package.json +1 -1
  54. package/packages/i18n/src/en_us.ts +2 -0
  55. package/packages/i18n/src/pt_br.ts +2 -0
  56. package/packages/modules/package.json +1 -1
  57. package/packages/passport/package.json +1 -1
  58. package/packages/ssr/cloudflare/README.md +3 -0
  59. package/packages/ssr/cloudflare/swr-worker.js +110 -0
  60. package/packages/ssr/lib/firebase/serve-storefront.js +13 -0
  61. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  62. package/packages/ssr/package.json +6 -4
  63. package/packages/ssr/src/cloudflare/swr-worker.ts +128 -0
  64. package/packages/ssr/src/cloudflare/tsconfig.json +9 -0
  65. package/packages/ssr/src/firebase/serve-storefront.ts +14 -0
  66. package/packages/ssr/tsconfig.json +2 -1
  67. package/packages/storefront/config/storefront.tailwind.cjs +1 -0
  68. package/packages/storefront/dist/client/_astro/Carousel.63d511ab.js +1 -0
  69. package/packages/storefront/dist/client/_astro/{HeroSlider.794b113c.js → HeroSlider.8d2ea532.js} +1 -1
  70. package/packages/storefront/dist/client/_astro/{PitchBar.a0503ba1.js → PitchBar.c2a2ad79.js} +1 -1
  71. package/packages/storefront/dist/client/_astro/Prices.8572765c.js +1 -0
  72. package/packages/storefront/dist/client/_astro/ProductShelf.4a105932.js +1 -0
  73. package/packages/storefront/dist/client/_astro/ShopHeader.2400b065.js +4 -0
  74. package/packages/storefront/dist/client/_astro/{_...slug_.caa8cb90.css → _...slug_.07c1fa58.css} +1 -1
  75. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.48e557ba.js +1 -0
  76. package/packages/storefront/dist/client/_astro/client.9dbf6b61.js +1 -0
  77. package/packages/storefront/dist/client/_astro/{img.abbe849f.js → img.7def76a1.js} +1 -1
  78. package/packages/storefront/dist/client/_astro/index.c0c35ead.js +1 -0
  79. package/packages/storefront/dist/client/sw.js +1 -1
  80. package/packages/storefront/dist/server/chunks/{_...e1758019.mjs → _...c5a36021.mjs} +3 -3
  81. package/packages/storefront/dist/server/chunks/{account@_@astro.f568e384.mjs → account@_@astro.3e90f29a.mjs} +3 -3
  82. package/packages/storefront/dist/server/chunks/{astro.b875de26.mjs → astro.6adaff02.mjs} +296 -1146
  83. package/packages/storefront/dist/server/chunks/{endpoint@_@js.32b9ab50.mjs → endpoint@_@js.b79eed3b.mjs} +3 -3
  84. package/packages/storefront/dist/server/chunks/{fallback@_@astro.4d902266.mjs → fallback@_@astro.9f73db0f.mjs} +3 -3
  85. package/packages/storefront/dist/server/chunks/{index@_@astro.a80337aa.mjs → index@_@astro.0221a7bd.mjs} +3 -3
  86. package/packages/storefront/dist/server/chunks/{index@_@astro.2072e1c3.mjs → index@_@astro.66b84ac2.mjs} +3 -3
  87. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.7c69d6fe.mjs → _...slug_.astro.501582b9.mjs} +779 -119
  88. package/packages/storefront/dist/server/chunks/pages/{account.astro.4b8c2471.mjs → account.astro.53400a42.mjs} +1 -1
  89. package/packages/storefront/dist/server/chunks/pages/{endpoint.js.64061d33.mjs → endpoint.js.4c130895.mjs} +1 -1
  90. package/packages/storefront/dist/server/chunks/pages/{fallback.astro.f225bb85.mjs → fallback.astro.8d1c6076.mjs} +2 -2
  91. package/packages/storefront/dist/server/chunks/pages/{index.astro.a972914a.mjs → index.astro.f1104ab2.mjs} +15 -338
  92. package/packages/storefront/dist/server/entry.mjs +31 -23
  93. package/packages/storefront/dist/server/renderers.mjs +2 -2
  94. package/packages/storefront/package.json +10 -10
  95. package/packages/storefront/src/lib/components/Carousel.vue +0 -3
  96. package/packages/storefront/src/lib/components/CheckoutLink.vue +23 -0
  97. package/packages/storefront/src/lib/components/Drawer.vue +1 -1
  98. package/packages/storefront/src/lib/components/QuantitySelector.vue +107 -0
  99. package/packages/storefront/src/lib/components/QuantitySelectorControl.vue +35 -0
  100. package/packages/storefront/src/lib/composables/use-cart-item.ts +20 -14
  101. package/packages/storefront/src/lib/composables/use-sticky-header.ts +18 -2
  102. package/packages/storefront/src/lib/state/customer-session.ts +2 -2
  103. package/packages/storefront/src/lib/state/modules-info.ts +1 -1
  104. package/packages/storefront/src/lib/state/shopping-cart/parse-product.ts +23 -21
  105. package/packages/storefront/src/lib/state/shopping-cart.ts +13 -4
  106. package/packages/types/package.json +1 -1
  107. package/packages/storefront/dist/client/_astro/Carousel.6824b5e2.js +0 -1
  108. package/packages/storefront/dist/client/_astro/ProductShelf.7fca4465.js +0 -1
  109. package/packages/storefront/dist/client/_astro/ShopHeader.fe08e043.js +0 -4
  110. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.4cb7dd76.js +0 -1
  111. package/packages/storefront/dist/client/_astro/api.4984c5be.js +0 -1
  112. package/packages/storefront/dist/client/_astro/client.0fb6b44e.js +0 -1
  113. package/packages/storefront/dist/client/_astro/index.c723d38d.js +0 -1
@@ -1,4 +1,4 @@
1
- import { c as createAstro, a as createComponent, r as renderTemplate } from '../astro.b875de26.mjs';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate } from '../astro.6adaff02.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.7c69d6fe.mjs';
3
+ import { B as BaseSSRService, i as isOutputFormatSupportsAlpha } from './_...slug_.astro.501582b9.mjs';
4
4
 
5
5
  class SharpService extends BaseSSRService {
6
6
  async transform(inputBuffer, transform) {
@@ -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.b875de26.mjs';
2
- import { l as loadRouteContext, $ as $$BaseHead, a as $$PageHeader, b as $$Base } from './_...slug_.astro.7c69d6fe.mjs';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate, m as maybeRenderHead, d as addAttribute, b as renderComponent } from '../astro.6adaff02.mjs';
2
+ import { l as loadRouteContext, $ as $$BaseHead, a as $$PageHeader, b as $$Base } from './_...slug_.astro.501582b9.mjs';
3
3
  import 'path-to-regexp';
4
4
  import 'cookie';
5
5
  import '@astrojs/internal-helpers/path';
@@ -1,9 +1,9 @@
1
- import { c as createAstro, a as createComponent, r as renderTemplate, b as renderComponent, m as maybeRenderHead, d as addAttribute, u as unescapeHTML, F as Fragment$1 } from '../astro.b875de26.mjs';
2
- import { c as $$Picture, p as parseShippingPhrase, _ as _export_sfc, C as Carousel, d as CarouselControl, e as availableExtraDiscount, f as installmentsOption, g as discountOption, h as loyaltyPointsPrograms, j as addProductToCart, l as loadRouteContext, $ as $$BaseHead, a as $$PageHeader, b as $$Base } from './_...slug_.astro.7c69d6fe.mjs';
1
+ import { c as createAstro, a as createComponent, r as renderTemplate, b as renderComponent, m as maybeRenderHead, d as addAttribute, u as unescapeHTML, F as Fragment$1 } from '../astro.6adaff02.mjs';
2
+ import { c as $$Picture, p as parseShippingPhrase, _ as _export_sfc, C as Carousel, d as CarouselControl, e as addProductToCart, P as Prices, l as loadRouteContext, $ as $$BaseHead, a as $$PageHeader, b as $$Base } from './_...slug_.astro.501582b9.mjs';
3
3
  import { ref, shallowReactive, computed, useSSRContext, defineComponent, mergeProps, createVNode, resolveDynamicComponent, withCtx, renderSlot, createTextVNode, toDisplayString, withDirectives, vShow, openBlock, createBlock, Fragment, renderList, resolveComponent, createCommentVNode, withModifiers, withAsyncContext } from 'vue';
4
4
  import api from '@cloudcommerce/api';
5
5
  import { inStock, price, name, img, onPromotion } from '@ecomplus/utils';
6
- import { ssrRenderAttrs, ssrRenderVNode, ssrRenderSlot, ssrInterpolate, ssrRenderComponent, ssrRenderStyle, ssrRenderList, ssrRenderClass, ssrRenderAttr } from 'vue/server-renderer';
6
+ import { ssrRenderAttrs, ssrRenderVNode, ssrRenderSlot, ssrInterpolate, ssrRenderComponent, ssrRenderStyle, ssrRenderList } from 'vue/server-renderer';
7
7
  import { useElementHover, watchOnce } from '@vueuse/core';
8
8
 
9
9
  const useProductShelf = (props) => {
@@ -259,7 +259,7 @@ const useBanner = (props) => {
259
259
  };
260
260
  };
261
261
 
262
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
262
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
263
263
  __name: "Banner",
264
264
  props: {
265
265
  img: {},
@@ -286,7 +286,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
286
286
  return __returned__;
287
287
  }
288
288
  });
289
- function _sfc_ssrRender$4(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
289
+ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
290
290
  _push(`<div${ssrRenderAttrs(mergeProps({
291
291
  class: ["mx-auto overflow-x-hidden", $setup.hasHeader ? "grid grid-cols-1 sm:grid-cols-2 items-center" : null]
292
292
  }, _attrs))}>`);
@@ -353,15 +353,15 @@ function _sfc_ssrRender$4(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
353
353
  }
354
354
  _push(`</div>`);
355
355
  }
356
- const _sfc_setup$4 = _sfc_main$4.setup;
357
- _sfc_main$4.setup = (props, ctx) => {
356
+ const _sfc_setup$3 = _sfc_main$3.setup;
357
+ _sfc_main$3.setup = (props, ctx) => {
358
358
  const ssrContext = useSSRContext();
359
359
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/Banner.vue");
360
- return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
360
+ return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
361
361
  };
362
- const Banner = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["ssrRender", _sfc_ssrRender$4]]);
362
+ const Banner = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["ssrRender", _sfc_ssrRender$3]]);
363
363
 
364
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
364
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
365
365
  __name: "HeroSlider",
366
366
  props: {
367
367
  autoplay: {},
@@ -374,7 +374,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
374
374
  return __returned__;
375
375
  }
376
376
  });
377
- function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
377
+ function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
378
378
  _push(`<section${ssrRenderAttrs(mergeProps({ class: "relative mx-auto" }, _attrs))}>`);
379
379
  _push(ssrRenderComponent($setup["Carousel"], {
380
380
  autoplay: $props.autoplay,
@@ -479,13 +479,13 @@ function _sfc_ssrRender$3(_ctx, _push, _parent, _attrs, $props, $setup, $data, $
479
479
  }, _parent));
480
480
  _push(`</section>`);
481
481
  }
482
- const _sfc_setup$3 = _sfc_main$3.setup;
483
- _sfc_main$3.setup = (props, ctx) => {
482
+ const _sfc_setup$2 = _sfc_main$2.setup;
483
+ _sfc_main$2.setup = (props, ctx) => {
484
484
  const ssrContext = useSSRContext();
485
485
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/HeroSlider.vue");
486
- return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
486
+ return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
487
487
  };
488
- const HeroSlider = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["ssrRender", _sfc_ssrRender$3]]);
488
+ const HeroSlider = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender$2]]);
489
489
 
490
490
  const $$Astro$4 = createAstro("https://ecom2-demo.web.app");
491
491
  const $$BannersGrid = createComponent(async ($$result, $$props, $$slots) => {
@@ -579,329 +579,6 @@ const useProductCard = (props) => {
579
579
  };
580
580
  };
581
581
 
582
- const getPriceWithDiscount = (price, discount) => {
583
- const { type, value } = discount;
584
- let priceWithDiscount;
585
- if (value) {
586
- if (type === "percentage") {
587
- priceWithDiscount = price * ((100 - value) / 100);
588
- } else {
589
- priceWithDiscount = price - value;
590
- }
591
- return priceWithDiscount > 0 ? priceWithDiscount : 0;
592
- }
593
- return price;
594
- };
595
- const usePrices = (props) => {
596
- const _product = computed(() => {
597
- return props.product || {
598
- price: props.price || 0,
599
- base_price: props.basePrice
600
- };
601
- });
602
- const hasVariedPrices = computed(() => {
603
- const { variations } = _product.value;
604
- if (variations) {
605
- const productPrice = price(_product.value);
606
- for (let i = 0; i < variations.length; i++) {
607
- const price$1 = price({
608
- ..._product.value,
609
- ...variations[i]
610
- });
611
- if (price$1 > productPrice) {
612
- return true;
613
- }
614
- }
615
- }
616
- return false;
617
- });
618
- const salePrice = computed(() => {
619
- const price$1 = price(_product.value);
620
- const discount = availableExtraDiscount.value;
621
- if (discount && (!discount.min_amount || price$1 > discount.min_amount)) {
622
- return getPriceWithDiscount(price$1, discount);
623
- }
624
- return price$1;
625
- });
626
- const comparePrice = computed(() => {
627
- if (onPromotion(_product.value)) {
628
- return _product.value.base_price;
629
- }
630
- const price$1 = price(_product.value);
631
- if (price$1 > salePrice.value) {
632
- return price$1;
633
- }
634
- return 0;
635
- });
636
- const installmentsObject = computed(() => {
637
- return props.installmentsOption || installmentsOption.value || { max_number: 1 };
638
- });
639
- const installmentsNumber = computed(() => {
640
- if (installmentsObject.value.max_number <= 1) {
641
- return 1;
642
- }
643
- const minInstallment = installmentsObject.value.min_installment || 5;
644
- const maxInstallmentsNumber = Math.floor(salePrice.value / minInstallment);
645
- return Math.min(maxInstallmentsNumber, installmentsObject.value.max_number);
646
- });
647
- const monthlyInterest = computed(() => {
648
- return installmentsObject.value.monthly_interest || 0;
649
- });
650
- const installmentValue = computed(() => {
651
- if (installmentsNumber.value >= 2) {
652
- if (!monthlyInterest.value) {
653
- return salePrice.value / installmentsNumber.value;
654
- }
655
- const interest = monthlyInterest.value / 100;
656
- return salePrice.value * interest / (1 - (1 + interest) ** -installmentsNumber.value);
657
- }
658
- return 0;
659
- });
660
- const discountObject = computed(() => {
661
- const discount = props.discountOption || discountOption.value;
662
- if (discount && (!discount.min_amount || discount.min_amount <= salePrice.value) && (!props.isAmountTotal || discount.apply_at === "total")) {
663
- return discount;
664
- }
665
- return {};
666
- });
667
- const discountLabel = computed(() => {
668
- const { label } = discountObject.value;
669
- if (label) {
670
- if (label.includes(" ")) {
671
- return label;
672
- }
673
- return `via ${label}`;
674
- }
675
- return "";
676
- });
677
- const priceWithDiscount = computed(() => {
678
- return getPriceWithDiscount(salePrice.value, discountObject.value);
679
- });
680
- const pointsProgramObject = computed(() => {
681
- if (props.loyaltyPointsProgram) {
682
- return props.loyaltyPointsProgram;
683
- }
684
- const pointsPrograms = loyaltyPointsPrograms.value;
685
- if (pointsPrograms) {
686
- const programIds = Object.keys(pointsPrograms);
687
- for (let i = 0; i < programIds.length; i++) {
688
- const program = pointsPrograms[programIds[i]];
689
- if (program?.earn_percentage && program.earn_percentage > 0) {
690
- return program;
691
- }
692
- }
693
- }
694
- return { ratio: 0 };
695
- });
696
- const pointsMinPrice = computed(() => {
697
- return pointsProgramObject.value.min_subtotal_to_earn || 0;
698
- });
699
- const pointsProgramName = computed(() => {
700
- return pointsProgramObject.value.name || "";
701
- });
702
- const earnPointsPercentage = computed(() => {
703
- return pointsProgramObject.value.earn_percentage || 0;
704
- });
705
- const cashbackPercentage = computed(() => {
706
- return earnPointsPercentage.value * pointsProgramObject.value.ratio;
707
- });
708
- const cashbackValue = computed(() => {
709
- return cashbackPercentage.value >= 1 ? salePrice.value * (cashbackPercentage.value / 100) : 0;
710
- });
711
- return {
712
- hasVariedPrices,
713
- salePrice,
714
- comparePrice,
715
- installmentsObject,
716
- installmentsNumber,
717
- monthlyInterest,
718
- installmentValue,
719
- discountObject,
720
- discountLabel,
721
- priceWithDiscount,
722
- pointsProgramObject,
723
- pointsMinPrice,
724
- pointsProgramName,
725
- earnPointsPercentage,
726
- cashbackPercentage,
727
- cashbackValue
728
- };
729
- };
730
-
731
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
732
- __name: "Prices",
733
- props: {
734
- isBig: { type: Boolean },
735
- isLiteral: { type: Boolean },
736
- hasCashback: { type: Boolean, default: true },
737
- hasPriceOptions: { type: Boolean, default: true },
738
- product: {},
739
- price: {},
740
- basePrice: {},
741
- isAmountTotal: { type: Boolean },
742
- installmentsOption: {},
743
- discountOption: {},
744
- loyaltyPointsProgram: {}
745
- },
746
- setup(__props, { expose: __expose }) {
747
- __expose();
748
- const props = __props;
749
- const {
750
- hasVariedPrices,
751
- salePrice,
752
- comparePrice,
753
- cashbackPercentage,
754
- cashbackValue,
755
- installmentsNumber,
756
- monthlyInterest,
757
- installmentValue,
758
- priceWithDiscount,
759
- discountLabel
760
- } = usePrices(props);
761
- const __returned__ = { props, hasVariedPrices, salePrice, comparePrice, cashbackPercentage, cashbackValue, installmentsNumber, monthlyInterest, installmentValue, priceWithDiscount, discountLabel };
762
- Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
763
- return __returned__;
764
- }
765
- });
766
- function _sfc_ssrRender$2(_ctx, _push, _parent, _attrs, $props, $setup, $data, $options) {
767
- const _component_Fade = resolveComponent("Fade");
768
- _push(`<div${ssrRenderAttrs(mergeProps({
769
- class: ["text-base-600 [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]", $props.isBig ? "text-lg" : null],
770
- "data-prices": ""
771
- }, _attrs))}>`);
772
- if ($setup.comparePrice) {
773
- _push(`<span class="text-base-500 mr-1 [font-size:87%]">`);
774
- if ($props.isLiteral) {
775
- _push(`<small>${ssrInterpolate(`${"De"} `)}</small>`);
776
- } else {
777
- _push(`<!---->`);
778
- }
779
- _push(`<s>${ssrInterpolate(_ctx.$money($setup.comparePrice))}</s>`);
780
- if ($props.isLiteral) {
781
- _push(`<small>${ssrInterpolate(` ${"Por"}`)}</small>`);
782
- } else {
783
- _push(`<!---->`);
784
- }
785
- _push(`</span>`);
786
- } else {
787
- _push(`<!---->`);
788
- }
789
- _push(`<strong class="${ssrRenderClass([$props.isBig ? "text-5xl block" : null, "inline-block text-base-800"])}">`);
790
- if ($setup.hasVariedPrices) {
791
- _push(`<small>${ssrInterpolate(`${"A partir de"} `)}</small>`);
792
- } else {
793
- _push(`<!---->`);
794
- }
795
- _push(` ${ssrInterpolate(_ctx.$money($setup.salePrice))}</strong>`);
796
- _push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
797
- default: withCtx((_, _push2, _parent2, _scopeId) => {
798
- if (_push2) {
799
- if ($setup.cashbackValue && $props.hasCashback) {
800
- _push2(`<div class="relative z-10"${_scopeId}><span${ssrRenderAttr("data-tooltip", "Receba $1 de volta".replace("$1", _ctx.$percentage($setup.cashbackPercentage)))}${_scopeId}><i class="i-arrow-uturn-left mr-1"${_scopeId}></i><span class="font-medium"${_scopeId}>${ssrInterpolate(_ctx.$money($setup.cashbackValue))}</span><small${_scopeId}> cashback</small></span></div>`);
801
- } else {
802
- _push2(`<!---->`);
803
- }
804
- } else {
805
- return [
806
- $setup.cashbackValue && $props.hasCashback ? (openBlock(), createBlock("div", {
807
- key: 0,
808
- class: "relative z-10"
809
- }, [
810
- createVNode("span", {
811
- "data-tooltip": "Receba $1 de volta".replace("$1", _ctx.$percentage($setup.cashbackPercentage))
812
- }, [
813
- createVNode("i", { class: "i-arrow-uturn-left mr-1" }),
814
- createVNode("span", { class: "font-medium" }, toDisplayString(_ctx.$money($setup.cashbackValue)), 1),
815
- createVNode("small", null, " cashback")
816
- ], 8, ["data-tooltip"])
817
- ])) : createCommentVNode("", true)
818
- ];
819
- }
820
- }),
821
- _: 1
822
- }, _parent));
823
- _push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
824
- default: withCtx((_, _push2, _parent2, _scopeId) => {
825
- if (_push2) {
826
- if ($setup.installmentValue && $props.hasPriceOptions) {
827
- _push2(`<div${_scopeId}>`);
828
- if ($props.isLiteral) {
829
- _push2(`<small${_scopeId}>${ssrInterpolate(`${"At\xE9"} `)}</small>`);
830
- } else {
831
- _push2(`<!---->`);
832
- }
833
- _push2(` ${ssrInterpolate($setup.installmentsNumber)}x `);
834
- if ($props.isLiteral) {
835
- _push2(`<small${_scopeId}>${ssrInterpolate(` ${"De"} `)}</small>`);
836
- } else {
837
- _push2(`<!---->`);
838
- }
839
- _push2(`<span${_scopeId}>${ssrInterpolate(_ctx.$money($setup.installmentValue))}</span>`);
840
- if (!$setup.monthlyInterest && $props.isLiteral) {
841
- _push2(`<small${_scopeId}>${ssrInterpolate("Sem juros")}</small>`);
842
- } else {
843
- _push2(`<!---->`);
844
- }
845
- _push2(`</div>`);
846
- } else {
847
- _push2(`<!---->`);
848
- }
849
- } else {
850
- return [
851
- $setup.installmentValue && $props.hasPriceOptions ? (openBlock(), createBlock("div", { key: 0 }, [
852
- $props.isLiteral ? (openBlock(), createBlock("small", { key: 0 }, toDisplayString(`${"At\xE9"} `))) : createCommentVNode("", true),
853
- createTextVNode(" " + toDisplayString($setup.installmentsNumber) + "x ", 1),
854
- $props.isLiteral ? (openBlock(), createBlock("small", { key: 1 }, toDisplayString(` ${"De"} `))) : createCommentVNode("", true),
855
- createVNode("span", null, toDisplayString(_ctx.$money($setup.installmentValue)), 1),
856
- !$setup.monthlyInterest && $props.isLiteral ? (openBlock(), createBlock("small", { key: 2 }, toDisplayString("Sem juros"))) : createCommentVNode("", true)
857
- ])) : createCommentVNode("", true)
858
- ];
859
- }
860
- }),
861
- _: 1
862
- }, _parent));
863
- _push(ssrRenderComponent(_component_Fade, { slide: "down" }, {
864
- default: withCtx((_, _push2, _parent2, _scopeId) => {
865
- if (_push2) {
866
- if ($setup.priceWithDiscount < $setup.salePrice && $props.hasPriceOptions) {
867
- _push2(`<div${_scopeId}>`);
868
- if (!$setup.discountLabel) {
869
- _push2(`<small${_scopeId}>${ssrInterpolate(`${"A partir de"} `)}</small>`);
870
- } else {
871
- _push2(`<!---->`);
872
- }
873
- _push2(`<span${_scopeId}>${ssrInterpolate(_ctx.$money($setup.priceWithDiscount))}</span>`);
874
- if ($setup.discountLabel) {
875
- _push2(`<small${_scopeId}>${ssrInterpolate(` ${$setup.discountLabel}`)}</small>`);
876
- } else {
877
- _push2(`<!---->`);
878
- }
879
- _push2(`</div>`);
880
- } else {
881
- _push2(`<!---->`);
882
- }
883
- } else {
884
- return [
885
- $setup.priceWithDiscount < $setup.salePrice && $props.hasPriceOptions ? (openBlock(), createBlock("div", { key: 0 }, [
886
- !$setup.discountLabel ? (openBlock(), createBlock("small", { key: 0 }, toDisplayString(`${"A partir de"} `))) : createCommentVNode("", true),
887
- createVNode("span", null, toDisplayString(_ctx.$money($setup.priceWithDiscount)), 1),
888
- $setup.discountLabel ? (openBlock(), createBlock("small", { key: 1 }, toDisplayString(` ${$setup.discountLabel}`), 1)) : createCommentVNode("", true)
889
- ])) : createCommentVNode("", true)
890
- ];
891
- }
892
- }),
893
- _: 1
894
- }, _parent));
895
- _push(`</div>`);
896
- }
897
- const _sfc_setup$2 = _sfc_main$2.setup;
898
- _sfc_main$2.setup = (props, ctx) => {
899
- const ssrContext = useSSRContext();
900
- (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/components/Prices.vue");
901
- return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
902
- };
903
- const Prices = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender$2]]);
904
-
905
582
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
906
583
  __name: "ProductCard",
907
584
  props: {
@@ -3,13 +3,13 @@ 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, g as deserializeManifest } from './chunks/astro.b875de26.mjs';
6
+ import { N as NodeApp, g as deserializeManifest } from './chunks/astro.6adaff02.mjs';
7
7
  import { Readable } from 'stream';
8
8
  import https from 'https';
9
- import path from 'path';
10
- import { fileURLToPath } from 'url';
11
- import fs from 'fs';
12
- import http from 'http';
9
+ import path from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ import fs from 'node:fs';
12
+ import http from 'node:http';
13
13
  import send from 'send';
14
14
  import enableDestroy from 'server-destroy';
15
15
  import { renderers } from './renderers.mjs';
@@ -18,18 +18,14 @@ import 'cookie';
18
18
  import 'kleur/colors';
19
19
  import '@astrojs/internal-helpers/path';
20
20
  import 'path-to-regexp';
21
- import 'node:fs';
22
- import 'node:http';
23
21
  import 'node:tls';
24
22
  import 'string-width';
25
23
  import 'html-escaper';
26
24
  import 'vue';
27
25
  import 'vue/server-renderer';
28
26
  import '@ecomplus/utils';
29
- import './chunks/pages/_...slug_.astro.7c69d6fe.mjs';
27
+ import './chunks/pages/_...slug_.astro.501582b9.mjs';
30
28
  import 'node:fs/promises';
31
- import 'node:path';
32
- import 'node:url';
33
29
  import 'http-cache-semantics';
34
30
  import 'node:os';
35
31
  import 'image-size';
@@ -2457,7 +2453,7 @@ const createOutgoingHttpHeaders = (webHeaders) => {
2457
2453
  const canUseSymbol = typeof Symbol === "function" && typeof Symbol.for === "function";
2458
2454
  const canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;
2459
2455
  function isBuffer(value) {
2460
- return value != null && value.constructor != null && typeof value.constructor.isBuffer === "function" && value.constructor.isBuffer(value);
2456
+ return (value == null ? void 0 : value.constructor) != null && typeof value.constructor.isBuffer === "function" && value.constructor.isBuffer(value);
2461
2457
  }
2462
2458
  function isNodeResponse(value) {
2463
2459
  return !!value.body;
@@ -2615,10 +2611,22 @@ function responseIterator(response) {
2615
2611
  throw new Error("Unknown body type for responseIterator. Please pass a streamable response.");
2616
2612
  }
2617
2613
 
2618
- function nodeMiddleware_default(app, mode) {
2619
- return async function(req, res, next, locals) {
2614
+ function nodeMiddleware_default(app, _mode) {
2615
+ return async function(...args) {
2616
+ let error = null;
2617
+ let [req, res, next, locals] = args;
2618
+ if (args[0] instanceof Error) {
2619
+ [error, req, res, next, locals] = args;
2620
+ if (error) {
2621
+ if (next) {
2622
+ return next(error);
2623
+ } else {
2624
+ throw error;
2625
+ }
2626
+ }
2627
+ }
2620
2628
  try {
2621
- const route = mode === "standalone" ? app.match(req, { matchNotFound: true }) : app.match(req);
2629
+ const route = app.match(req);
2622
2630
  if (route) {
2623
2631
  try {
2624
2632
  const response = await app.render(req, route, locals);
@@ -2633,8 +2641,8 @@ function nodeMiddleware_default(app, mode) {
2633
2641
  } else if (next) {
2634
2642
  return next();
2635
2643
  } else {
2636
- res.writeHead(404);
2637
- res.end("Not found");
2644
+ const response = await app.render(req);
2645
+ await writeWebResponse(app, res, response);
2638
2646
  }
2639
2647
  } catch (err) {
2640
2648
  if (!res.headersSent) {
@@ -2825,13 +2833,13 @@ const adapter = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2825
2833
  start
2826
2834
  }, Symbol.toStringTag, { value: 'Module' }));
2827
2835
 
2828
- const _page0 = () => import('./chunks/endpoint@_@js.32b9ab50.mjs');
2829
- const _page1 = () => import('./chunks/index@_@astro.2072e1c3.mjs');
2830
- const _page2 = () => import('./chunks/fallback@_@astro.4d902266.mjs');
2831
- const _page3 = () => import('./chunks/index@_@astro.a80337aa.mjs');
2832
- const _page4 = () => import('./chunks/account@_@astro.f568e384.mjs');
2833
- const _page5 = () => import('./chunks/_...e1758019.mjs');const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.17.2_astro@2.9.6_sharp@0.32.4/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]]);
2834
- 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.2_astro@2.9.6_sharp@0.32.4/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_.caa8cb90.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_.caa8cb90.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_.caa8cb90.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":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro",{"propagation":"none","containsHead":true}]],"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.4b8c2471.mjs","/src/pages/fallback.astro":"chunks/pages/fallback.astro.f225bb85.mjs","\u0000@astro-page:../../node_modules/.pnpm/@astrojs+image@0.17.2_astro@2.9.6_sharp@0.32.4/node_modules/@astrojs/image/dist/endpoint@_@js":"chunks/endpoint@_@js.32b9ab50.mjs","\u0000@astro-page:src/pages/index@_@astro":"chunks/index@_@astro.2072e1c3.mjs","\u0000@astro-page:src/pages/fallback@_@astro":"chunks/fallback@_@astro.4d902266.mjs","\u0000@astro-page:src/pages/app/index@_@astro":"chunks/index@_@astro.a80337aa.mjs","\u0000@astro-page:src/pages/app/account@_@astro":"chunks/account@_@astro.f568e384.mjs","\u0000@astro-page:src/pages/[...slug]@_@astro":"chunks/_...e1758019.mjs","~/components/PitchBar.vue":"_astro/PitchBar.a0503ba1.js","/astro/hoisted.js?q=0":"_astro/hoisted.572313d6.js","~/components/ProductShelf.vue":"_astro/ProductShelf.7fca4465.js","~/components/HeroSlider.vue":"_astro/HeroSlider.794b113c.js","@astrojs/vue/client.js":"_astro/client.0fb6b44e.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.fe08e043.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.1df8af9a.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/_...slug_.caa8cb90.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-5e0bf4e4.js","/_astro/Carousel.6824b5e2.js","/_astro/HeroSlider.794b113c.js","/_astro/PitchBar.a0503ba1.js","/_astro/ProductShelf.7fca4465.js","/_astro/ShopHeader.fe08e043.js","/_astro/_plugin-vue_export-helper.4cb7dd76.js","/_astro/api.4984c5be.js","/_astro/client.0fb6b44e.js","/_astro/firebase-app.1df8af9a.js","/_astro/hoisted.572313d6.js","/_astro/img.abbe849f.js","/_astro/index.c723d38d.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"]}), {
2836
+ const _page0 = () => import('./chunks/endpoint@_@js.b79eed3b.mjs');
2837
+ const _page1 = () => import('./chunks/index@_@astro.66b84ac2.mjs');
2838
+ const _page2 = () => import('./chunks/fallback@_@astro.9f73db0f.mjs');
2839
+ const _page3 = () => import('./chunks/index@_@astro.0221a7bd.mjs');
2840
+ const _page4 = () => import('./chunks/account@_@astro.3e90f29a.mjs');
2841
+ const _page5 = () => import('./chunks/_...c5a36021.mjs');const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.2_sharp@0.32.4/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]]);
2842
+ 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.2_sharp@0.32.4/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_.07c1fa58.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_.07c1fa58.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_.07c1fa58.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":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro",{"propagation":"none","containsHead":true}]],"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.53400a42.mjs","/src/pages/fallback.astro":"chunks/pages/fallback.astro.8d1c6076.mjs","\u0000@astro-page:../../node_modules/.pnpm/@astrojs+image@0.17.3_astro@2.10.2_sharp@0.32.4/node_modules/@astrojs/image/dist/endpoint@_@js":"chunks/endpoint@_@js.b79eed3b.mjs","\u0000@astro-page:src/pages/index@_@astro":"chunks/index@_@astro.66b84ac2.mjs","\u0000@astro-page:src/pages/fallback@_@astro":"chunks/fallback@_@astro.9f73db0f.mjs","\u0000@astro-page:src/pages/app/index@_@astro":"chunks/index@_@astro.0221a7bd.mjs","\u0000@astro-page:src/pages/app/account@_@astro":"chunks/account@_@astro.3e90f29a.mjs","\u0000@astro-page:src/pages/[...slug]@_@astro":"chunks/_...c5a36021.mjs","~/components/PitchBar.vue":"_astro/PitchBar.c2a2ad79.js","~/components/ProductShelf.vue":"_astro/ProductShelf.4a105932.js","@astrojs/vue/client.js":"_astro/client.9dbf6b61.js","~/components/HeroSlider.vue":"_astro/HeroSlider.8d2ea532.js","/astro/hoisted.js?q=0":"_astro/hoisted.572313d6.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.2400b065.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.1df8af9a.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/_...slug_.07c1fa58.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-5e0bf4e4.js","/_astro/Carousel.63d511ab.js","/_astro/HeroSlider.8d2ea532.js","/_astro/PitchBar.c2a2ad79.js","/_astro/Prices.8572765c.js","/_astro/ProductShelf.4a105932.js","/_astro/ShopHeader.2400b065.js","/_astro/_plugin-vue_export-helper.48e557ba.js","/_astro/client.9dbf6b61.js","/_astro/firebase-app.1df8af9a.js","/_astro/hoisted.572313d6.js","/_astro/img.7def76a1.js","/_astro/index.c0c35ead.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"]}), {
2835
2843
  pageMap,
2836
2844
  renderers,
2837
2845
  });
@@ -1,8 +1,8 @@
1
- import { h as server_default } from './chunks/astro.b875de26.mjs';
1
+ import { h as server_default } from './chunks/astro.6adaff02.mjs';
2
2
  import { useSSRContext, defineComponent, computed, mergeProps, h, createSSRApp } from 'vue';
3
3
  import { ssrRenderSlotInner, ssrRenderAttrs, ssrRenderSlot, 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.7c69d6fe.mjs';
5
+ import { _ as _export_sfc } from './chunks/pages/_...slug_.astro.501582b9.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.23.0",
4
+ "version": "0.23.2",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "bin": {
7
7
  "storefront": "./scripts/build-prod.sh"
@@ -29,8 +29,8 @@
29
29
  "prepare-monorepo": "bash scripts/prepare-monorepo.sh"
30
30
  },
31
31
  "dependencies": {
32
- "@astrojs/image": "0.17.2",
33
- "@astrojs/node": "5.3.0",
32
+ "@astrojs/image": "0.17.3",
33
+ "@astrojs/node": "5.3.2",
34
34
  "@astrojs/vue": "2.2.1",
35
35
  "@cloudcommerce/api": "workspace:*",
36
36
  "@cloudcommerce/config": "workspace:*",
@@ -38,12 +38,12 @@
38
38
  "@ecomplus/utils": "1.5.0-rc.5",
39
39
  "@fastify/deepmerge": "^1.3.0",
40
40
  "@headlessui/vue": "^1.7.15",
41
- "@iconify-json/fa6-brands": "^1.1.11",
42
- "@iconify-json/heroicons": "^1.1.11",
43
- "@iconify-json/logos": "^1.1.33",
41
+ "@iconify-json/fa6-brands": "^1.1.13",
42
+ "@iconify-json/heroicons": "^1.1.12",
43
+ "@iconify-json/logos": "^1.1.34",
44
44
  "@vite-pwa/astro": "^0.1.1",
45
45
  "@vueuse/core": "10.3.0",
46
- "astro": "2.9.6",
46
+ "astro": "2.10.2",
47
47
  "chroma-js": "^2.4.2",
48
48
  "dotenv": "^16.3.1",
49
49
  "firebase": "^10.1.0",
@@ -52,13 +52,13 @@
52
52
  "semver": "^7.5.4",
53
53
  "sharp": "^0.32.4",
54
54
  "tailwindcss": "^3.3.3",
55
- "unocss": "^0.54.1",
56
- "vite": "^4.4.7",
55
+ "unocss": "^0.54.2",
56
+ "vite": "^4.4.9",
57
57
  "vite-plugin-pwa": "^0.16.4",
58
58
  "vue": "^3.3.4"
59
59
  },
60
60
  "devDependencies": {
61
- "@cloudcommerce/eslint": "workspace:^",
61
+ "@cloudcommerce/eslint": "workspace:*",
62
62
  "@cloudcommerce/types": "workspace:*"
63
63
  }
64
64
  }