cloudcommerce 0.0.82 → 0.0.84

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 (138) hide show
  1. package/.vscode/extensions.json +1 -1
  2. package/.vscode/settings.json +2 -3
  3. package/CHANGELOG.md +33 -0
  4. package/package.json +9 -9
  5. package/packages/api/lib/api.d.ts +8 -0
  6. package/packages/api/lib/api.js +24 -3
  7. package/packages/api/lib/api.js.map +1 -1
  8. package/packages/api/lib/types.d.ts +2 -0
  9. package/packages/api/package.json +5 -1
  10. package/packages/api/src/api.ts +31 -3
  11. package/packages/api/src/types.ts +2 -0
  12. package/packages/api/types.ts +2 -0
  13. package/packages/apps/correios/package.json +1 -1
  14. package/packages/apps/custom-shipping/package.json +1 -1
  15. package/packages/apps/discounts/package.json +1 -1
  16. package/packages/apps/frenet/package.json +1 -1
  17. package/packages/apps/tiny-erp/package.json +1 -1
  18. package/packages/cli/package.json +1 -1
  19. package/packages/config/package.json +1 -1
  20. package/packages/events/package.json +1 -1
  21. package/packages/firebase/package.json +2 -2
  22. package/packages/modules/package.json +1 -1
  23. package/packages/passport/package.json +1 -1
  24. package/packages/ssr/package.json +1 -1
  25. package/packages/storefront/astro.config.mjs +122 -5
  26. package/packages/storefront/client.d.ts +27 -0
  27. package/packages/storefront/content/header.json +3 -1
  28. package/packages/storefront/dist/client/admin/config.json +1 -0
  29. package/packages/storefront/dist/client/assets/_...2fc8f657.css +1 -0
  30. package/packages/storefront/dist/client/assets/{_...11681504.css → _...7af61807.css} +1 -1
  31. package/packages/storefront/dist/client/assets/cms-preview.css +274 -0
  32. package/packages/storefront/dist/client/assets/cms.css +114 -0
  33. package/packages/storefront/dist/client/assets/cvv.png +0 -0
  34. package/packages/storefront/dist/client/assets/icons/bootstrap-icons/font/storefront-icons.woff2 +0 -0
  35. package/packages/storefront/dist/client/assets/icons/feather-icons/font/storefront-icons.woff2 +0 -0
  36. package/packages/storefront/dist/client/assets/icons/font-awesome/font/storefront-icons.woff2 +0 -0
  37. package/packages/storefront/dist/client/assets/icons/line-awesome/font/storefront-icons.woff2 +0 -0
  38. package/packages/storefront/dist/client/assets/icons/tabler-icons/font/storefront-icons.woff2 +0 -0
  39. package/packages/storefront/dist/client/assets/img-placeholder.png +0 -0
  40. package/packages/storefront/dist/client/assets/payments.png +0 -0
  41. package/packages/storefront/dist/client/assets/ssl-safe.png +0 -0
  42. package/packages/storefront/dist/client/chunks/workbox-window.prod.es5.4b654ae6.js +2 -0
  43. package/packages/storefront/dist/client/hoisted.46e058d2.js +271 -0
  44. package/packages/storefront/dist/client/img/icon.png +0 -0
  45. package/packages/storefront/dist/client/img/large-icon.png +0 -0
  46. package/packages/storefront/dist/client/img/uploads/banner1.png +0 -0
  47. package/packages/storefront/dist/client/img/uploads/banner2.png +0 -0
  48. package/packages/storefront/dist/client/img/uploads/banner2.webp +0 -0
  49. package/packages/storefront/dist/client/img/uploads/favicon.png +0 -0
  50. package/packages/storefront/dist/client/img/uploads/headless.png +0 -0
  51. package/packages/storefront/dist/client/img/uploads/headphone.png +0 -0
  52. package/packages/storefront/dist/client/img/uploads/headphone.webp +0 -0
  53. package/packages/storefront/dist/client/img/uploads/icon.png +0 -0
  54. package/packages/storefront/dist/client/img/uploads/large-icon.png +0 -0
  55. package/packages/storefront/dist/client/img/uploads/logo.png +0 -0
  56. package/packages/storefront/dist/client/img/uploads/logo.webp +0 -0
  57. package/packages/storefront/dist/client/img/uploads/og-image.png +0 -0
  58. package/packages/storefront/dist/client/img/uploads/passion.png +0 -0
  59. package/packages/storefront/dist/client/img/uploads/passion.webp +0 -0
  60. package/packages/storefront/dist/client/img/uploads/pwa-reliable.png +0 -0
  61. package/packages/storefront/dist/client/img/uploads/rect8589.png +0 -0
  62. package/packages/storefront/dist/client/img/uploads/rect859.png +0 -0
  63. package/packages/storefront/dist/client/img/uploads/rect89.png +0 -0
  64. package/packages/storefront/dist/client/img/uploads/rect89.webp +0 -0
  65. package/packages/storefront/dist/client/img/uploads/ssl-safe.png +0 -0
  66. package/packages/storefront/dist/client/manifest.webmanifest +1 -1
  67. package/packages/storefront/dist/client/robots.txt +8 -0
  68. package/packages/storefront/dist/client/sw.js +1 -1
  69. package/packages/storefront/dist/client/workbox-361aba39.js +1 -0
  70. package/packages/storefront/dist/server/entry.mjs +608 -103
  71. package/packages/storefront/dist/server/manifest.webmanifest +1 -1
  72. package/packages/storefront/package.json +13 -12
  73. package/packages/storefront/public/admin/config.json +1 -0
  74. package/packages/storefront/public/assets/cms-preview.css +274 -0
  75. package/packages/storefront/public/assets/cms.css +114 -0
  76. package/packages/storefront/public/assets/cvv.png +0 -0
  77. package/packages/storefront/public/assets/icons/bootstrap-icons/font/storefront-icons.woff2 +0 -0
  78. package/packages/storefront/public/assets/icons/feather-icons/font/storefront-icons.woff2 +0 -0
  79. package/packages/storefront/public/assets/icons/font-awesome/font/storefront-icons.woff2 +0 -0
  80. package/packages/storefront/public/assets/icons/line-awesome/font/storefront-icons.woff2 +0 -0
  81. package/packages/storefront/public/assets/icons/tabler-icons/font/storefront-icons.woff2 +0 -0
  82. package/packages/storefront/public/assets/img-placeholder.png +0 -0
  83. package/packages/storefront/public/assets/payments.png +0 -0
  84. package/packages/storefront/public/assets/ssl-safe.png +0 -0
  85. package/packages/storefront/public/img/icon.png +0 -0
  86. package/packages/storefront/public/img/large-icon.png +0 -0
  87. package/packages/storefront/public/img/uploads/banner1.png +0 -0
  88. package/packages/storefront/public/img/uploads/banner2.png +0 -0
  89. package/packages/storefront/public/img/uploads/banner2.webp +0 -0
  90. package/packages/storefront/public/img/uploads/favicon.png +0 -0
  91. package/packages/storefront/public/img/uploads/headless.png +0 -0
  92. package/packages/storefront/public/img/uploads/headphone.png +0 -0
  93. package/packages/storefront/public/img/uploads/headphone.webp +0 -0
  94. package/packages/storefront/public/img/uploads/icon.png +0 -0
  95. package/packages/storefront/public/img/uploads/large-icon.png +0 -0
  96. package/packages/storefront/public/img/uploads/logo.png +0 -0
  97. package/packages/storefront/public/img/uploads/logo.webp +0 -0
  98. package/packages/storefront/public/img/uploads/og-image.png +0 -0
  99. package/packages/storefront/public/img/uploads/passion.png +0 -0
  100. package/packages/storefront/public/img/uploads/passion.webp +0 -0
  101. package/packages/storefront/public/img/uploads/pwa-reliable.png +0 -0
  102. package/packages/storefront/public/img/uploads/rect8589.png +0 -0
  103. package/packages/storefront/public/img/uploads/rect859.png +0 -0
  104. package/packages/storefront/public/img/uploads/rect89.png +0 -0
  105. package/packages/storefront/public/img/uploads/rect89.webp +0 -0
  106. package/packages/storefront/public/img/uploads/ssl-safe.png +0 -0
  107. package/packages/storefront/public/robots.txt +8 -0
  108. package/packages/storefront/scripts/prepare-monorepo.sh +4 -0
  109. package/packages/storefront/scripts/prerelease.sh +4 -0
  110. package/packages/storefront/src/env.d.ts +3 -1
  111. package/packages/storefront/src/lib/components/TheHeader.vue +15 -0
  112. package/packages/storefront/src/lib/components/TopBar.vue +141 -0
  113. package/packages/storefront/src/lib/helpers/image.ts +36 -0
  114. package/packages/storefront/src/lib/layouts/Base.astro +26 -25
  115. package/packages/storefront/src/lib/layouts/{meta/Head.astro → BaseHead.astro} +5 -3
  116. package/packages/storefront/src/lib/layouts/{meta/Json.astro → BaseStateJson.astro} +1 -1
  117. package/packages/storefront/src/lib/layouts/Pages.astro +2 -7
  118. package/packages/storefront/src/lib/layouts/PagesHeader.astro +92 -0
  119. package/packages/storefront/src/lib/ssr-context.ts +6 -4
  120. package/packages/storefront/src/pages/[...slug].astro +4 -0
  121. package/packages/storefront/src/types/cms-code.d.ts +5 -0
  122. package/packages/storefront/src/types/cms-contacts.d.ts +5 -0
  123. package/packages/storefront/src/types/cms-header.d.ts +5 -0
  124. package/packages/storefront/src/types/cms-settings.d.ts +5 -0
  125. package/packages/storefront/src/types/cms-social.d.ts +5 -0
  126. package/packages/storefront/tailwind.config.cjs +78 -0
  127. package/packages/storefront/uno.config.ts +55 -30
  128. package/packages/types/index.ts +1 -1
  129. package/packages/types/package.json +1 -1
  130. package/tsconfig.json +2 -1
  131. package/packages/storefront/dist/client/assets/_...65ca64e2.css +0 -1
  132. package/packages/storefront/dist/client/favicon.ico +0 -0
  133. package/packages/storefront/dist/client/hoisted.f0efb207.js +0 -272
  134. package/packages/storefront/dist/client/workbox-70b8fbb9.js +0 -1
  135. package/packages/storefront/public/favicon.ico +0 -0
  136. package/packages/storefront/src/html.d.ts +0 -23
  137. package/packages/storefront/src/vite-env.d.ts +0 -13
  138. package/packages/storefront/tailwind.config.ts +0 -30
@@ -1,19 +1,27 @@
1
1
  import * as adapter from '@astrojs/node/server.js';
2
- import { defineComponent, h, createSSRApp } from 'vue';
3
- import { renderToString as renderToString$1 } from 'vue/server-renderer';
2
+ import { defineComponent, h, createSSRApp, mergeProps, createVNode as createVNode$1, resolveDynamicComponent, withCtx, createTextVNode, toDisplayString, useSSRContext } from 'vue';
3
+ import { renderToString as renderToString$1, ssrRenderAttrs, ssrRenderSlot, ssrRenderVNode, ssrInterpolate, ssrRenderClass, ssrRenderList, ssrRenderAttr } from 'vue/server-renderer';
4
4
  import { escape } from 'html-escaper';
5
5
  import mime from 'mime';
6
- import sharp from 'sharp';
6
+ import sharp$1 from 'sharp';
7
7
  /* empty css */import { fileURLToPath } from 'url';
8
8
  import fs from 'fs';
9
9
  import { resolve } from 'path';
10
10
  import Deepmerge from '@fastify/deepmerge';
11
- /* empty css */import * as $$module1$6 from 'color';
11
+ /* empty css */import * as $$module1$7 from 'color';
12
12
  import $$module1__default$1 from 'color';
13
- import * as $$module1$5 from '@ecomplus/utils';
13
+ import * as $$module1$6 from '@ecomplus/utils';
14
14
  import $$module1__default from '@ecomplus/utils';
15
- /* empty css *//* empty css *//* empty css *//* empty css */import 'kleur/colors';
16
- import 'string-width';
15
+ import sizeOf from 'image-size';
16
+ import 'kleur/colors';
17
+ import 'node:fs/promises';
18
+ import 'node:os';
19
+ import 'node:path';
20
+ import 'node:url';
21
+ import 'magic-string';
22
+ import 'node:stream';
23
+ import 'slash';
24
+ /* empty css *//* empty css *//* empty css *//* empty css */import 'string-width';
17
25
  import 'path-browserify';
18
26
  import { compile } from 'path-to-regexp';
19
27
 
@@ -53,7 +61,7 @@ const _renderer1 = {
53
61
  renderToStaticMarkup: renderToStaticMarkup$1,
54
62
  };
55
63
 
56
- const ASTRO_VERSION = "1.2.6";
64
+ const ASTRO_VERSION = "1.3.0";
57
65
  function createDeprecatedFetchContentFn() {
58
66
  return () => {
59
67
  throw new Error("Deprecated: Astro.fetchContent() has been replaced with Astro.glob().");
@@ -89,7 +97,15 @@ function createAstro(filePathname, _site, projectRootStr) {
89
97
  }
90
98
 
91
99
  const escapeHTML = escape;
100
+ class HTMLBytes extends Uint8Array {
101
+ get [Symbol.toStringTag]() {
102
+ return "HTMLBytes";
103
+ }
104
+ }
92
105
  class HTMLString extends String {
106
+ get [Symbol.toStringTag]() {
107
+ return "HTMLString";
108
+ }
93
109
  }
94
110
  const markHTMLString = (value) => {
95
111
  if (value instanceof HTMLString) {
@@ -100,6 +116,38 @@ const markHTMLString = (value) => {
100
116
  }
101
117
  return value;
102
118
  };
119
+ function markHTMLBytes(bytes) {
120
+ return new HTMLBytes(bytes);
121
+ }
122
+ async function* unescapeChunksAsync(iterable) {
123
+ for await (const chunk of iterable) {
124
+ yield unescapeHTML(chunk);
125
+ }
126
+ }
127
+ function* unescapeChunks(iterable) {
128
+ for (const chunk of iterable) {
129
+ yield unescapeHTML(chunk);
130
+ }
131
+ }
132
+ function unescapeHTML(str) {
133
+ if (!!str && typeof str === "object") {
134
+ if (str instanceof Uint8Array) {
135
+ return markHTMLBytes(str);
136
+ } else if (str instanceof Response && str.body) {
137
+ const body = str.body;
138
+ return unescapeChunksAsync(body);
139
+ } else if (typeof str.then === "function") {
140
+ return Promise.resolve(str).then((value) => {
141
+ return unescapeHTML(value);
142
+ });
143
+ } else if (Symbol.iterator in str) {
144
+ return unescapeChunks(str);
145
+ } else if (Symbol.asyncIterator in str) {
146
+ return unescapeChunksAsync(str);
147
+ }
148
+ }
149
+ return markHTMLString(str);
150
+ }
103
151
 
104
152
  class Metadata {
105
153
  constructor(filePathname, opts) {
@@ -172,7 +220,10 @@ const PROP_TYPE = {
172
220
  Map: 4,
173
221
  Set: 5,
174
222
  BigInt: 6,
175
- URL: 7
223
+ URL: 7,
224
+ Uint8Array: 8,
225
+ Uint16Array: 9,
226
+ Uint32Array: 10
176
227
  };
177
228
  function serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {
178
229
  if (parents.has(value)) {
@@ -232,6 +283,15 @@ function convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */
232
283
  case "[object Array]": {
233
284
  return [PROP_TYPE.JSON, JSON.stringify(serializeArray(value, metadata, parents))];
234
285
  }
286
+ case "[object Uint8Array]": {
287
+ return [PROP_TYPE.Uint8Array, JSON.stringify(Array.from(value))];
288
+ }
289
+ case "[object Uint16Array]": {
290
+ return [PROP_TYPE.Uint16Array, JSON.stringify(Array.from(value))];
291
+ }
292
+ case "[object Uint32Array]": {
293
+ return [PROP_TYPE.Uint32Array, JSON.stringify(Array.from(value))];
294
+ }
235
295
  default: {
236
296
  if (value !== null && typeof value === "object") {
237
297
  return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];
@@ -384,7 +444,7 @@ var only_prebuilt_default = `(self.Astro=self.Astro||{}).only=t=>{(async()=>awai
384
444
 
385
445
  var visible_prebuilt_default = `(self.Astro=self.Astro||{}).visible=(s,c,n)=>{const r=async()=>{await(await s())()};let i=new IntersectionObserver(e=>{for(const t of e)if(!!t.isIntersecting){i.disconnect(),r();break}});for(let e=0;e<n.children.length;e++){const t=n.children[e];i.observe(t)}},window.dispatchEvent(new Event("astro:visible"));`;
386
446
 
387
- var astro_island_prebuilt_default = `var l;{const c={0:t=>t,1:t=>JSON.parse(t,o),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(JSON.parse(t,o)),5:t=>new Set(JSON.parse(t,o)),6:t=>BigInt(t),7:t=>new URL(t)},o=(t,s)=>{if(t===""||!Array.isArray(s))return s;const[e,n]=s;return e in c?c[e](n):void 0};customElements.get("astro-island")||customElements.define("astro-island",(l=class extends HTMLElement{constructor(){super(...arguments);this.hydrate=()=>{if(!this.hydrator||this.parentElement&&this.parentElement.closest("astro-island[ssr]"))return;const s=this.querySelectorAll("astro-slot"),e={},n=this.querySelectorAll("template[data-astro-template]");for(const r of n){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(const r of s){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("name")||"default"]=r.innerHTML)}const a=this.hasAttribute("props")?JSON.parse(this.getAttribute("props"),o):{};this.hydrator(this)(this.Component,a,e,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),window.removeEventListener("astro:hydrate",this.hydrate),window.dispatchEvent(new CustomEvent("astro:hydrate"))}}connectedCallback(){!this.hasAttribute("await-children")||this.firstChild?this.childrenConnectedCallback():new MutationObserver((s,e)=>{e.disconnect(),this.childrenConnectedCallback()}).observe(this,{childList:!0})}async childrenConnectedCallback(){window.addEventListener("astro:hydrate",this.hydrate);let s=this.getAttribute("before-hydration-url");s&&await import(s),this.start()}start(){const s=JSON.parse(this.getAttribute("opts")),e=this.getAttribute("client");if(Astro[e]===void 0){window.addEventListener(\`astro:\${e}\`,()=>this.start(),{once:!0});return}Astro[e](async()=>{const n=this.getAttribute("renderer-url"),[a,{default:r}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),i=this.getAttribute("component-export")||"default";if(!i.includes("."))this.Component=a[i];else{this.Component=a;for(const d of i.split("."))this.Component=this.Component[d]}return this.hydrator=r,this.hydrate},s,this)}attributeChangedCallback(){this.hydrator&&this.hydrate()}},l.observedAttributes=["props"],l))}`;
447
+ var astro_island_prebuilt_default = `var l;{const c={0:t=>t,1:t=>JSON.parse(t,o),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(JSON.parse(t,o)),5:t=>new Set(JSON.parse(t,o)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(JSON.parse(t)),9:t=>new Uint16Array(JSON.parse(t)),10:t=>new Uint32Array(JSON.parse(t))},o=(t,s)=>{if(t===""||!Array.isArray(s))return s;const[e,n]=s;return e in c?c[e](n):void 0};customElements.get("astro-island")||customElements.define("astro-island",(l=class extends HTMLElement{constructor(){super(...arguments);this.hydrate=()=>{if(!this.hydrator||this.parentElement&&this.parentElement.closest("astro-island[ssr]"))return;const s=this.querySelectorAll("astro-slot"),e={},n=this.querySelectorAll("template[data-astro-template]");for(const r of n){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(const r of s){const i=r.closest(this.tagName);!i||!i.isSameNode(this)||(e[r.getAttribute("name")||"default"]=r.innerHTML)}const a=this.hasAttribute("props")?JSON.parse(this.getAttribute("props"),o):{};this.hydrator(this)(this.Component,a,e,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),window.removeEventListener("astro:hydrate",this.hydrate),window.dispatchEvent(new CustomEvent("astro:hydrate"))}}connectedCallback(){!this.hasAttribute("await-children")||this.firstChild?this.childrenConnectedCallback():new MutationObserver((s,e)=>{e.disconnect(),this.childrenConnectedCallback()}).observe(this,{childList:!0})}async childrenConnectedCallback(){window.addEventListener("astro:hydrate",this.hydrate);let s=this.getAttribute("before-hydration-url");s&&await import(s),this.start()}start(){const s=JSON.parse(this.getAttribute("opts")),e=this.getAttribute("client");if(Astro[e]===void 0){window.addEventListener(\`astro:\${e}\`,()=>this.start(),{once:!0});return}Astro[e](async()=>{const n=this.getAttribute("renderer-url"),[a,{default:r}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),i=this.getAttribute("component-export")||"default";if(!i.includes("."))this.Component=a[i];else{this.Component=a;for(const d of i.split("."))this.Component=this.Component[d]}return this.hydrator=r,this.hydrate},s,this)}attributeChangedCallback(){this.hydrator&&this.hydrate()}},l.observedAttributes=["props"],l))}`;
388
448
 
389
449
  function determineIfNeedsHydrationScript(result) {
390
450
  if (result._metadata.hasHydrationScript) {
@@ -425,6 +485,8 @@ function getPrescripts(type, directive) {
425
485
 
426
486
  const Fragment = Symbol.for("astro:fragment");
427
487
  const Renderer = Symbol.for("astro:renderer");
488
+ const encoder = new TextEncoder();
489
+ const decoder = new TextDecoder();
428
490
  function stringifyChunk(result, chunk) {
429
491
  switch (chunk.type) {
430
492
  case "directive": {
@@ -444,6 +506,48 @@ function stringifyChunk(result, chunk) {
444
506
  }
445
507
  }
446
508
  }
509
+ class HTMLParts {
510
+ constructor() {
511
+ this.parts = [];
512
+ }
513
+ append(part, result) {
514
+ if (ArrayBuffer.isView(part)) {
515
+ this.parts.push(part);
516
+ } else {
517
+ this.parts.push(stringifyChunk(result, part));
518
+ }
519
+ }
520
+ toString() {
521
+ let html = "";
522
+ for (const part of this.parts) {
523
+ if (ArrayBuffer.isView(part)) {
524
+ html += decoder.decode(part);
525
+ } else {
526
+ html += part;
527
+ }
528
+ }
529
+ return html;
530
+ }
531
+ toArrayBuffer() {
532
+ this.parts.forEach((part, i) => {
533
+ if (typeof part === "string") {
534
+ this.parts[i] = encoder.encode(String(part));
535
+ }
536
+ });
537
+ return concatUint8Arrays(this.parts);
538
+ }
539
+ }
540
+ function concatUint8Arrays(arrays) {
541
+ let len = 0;
542
+ arrays.forEach((arr) => len += arr.length);
543
+ let merged = new Uint8Array(len);
544
+ let offset = 0;
545
+ arrays.forEach((arr) => {
546
+ merged.set(arr, offset);
547
+ offset += arr.length;
548
+ });
549
+ return merged;
550
+ }
447
551
 
448
552
  function validateComponentProps(props, displayName) {
449
553
  var _a;
@@ -505,11 +609,11 @@ async function renderToString(result, componentFactory, props, children) {
505
609
  const response = Component;
506
610
  throw response;
507
611
  }
508
- let html = "";
612
+ let parts = new HTMLParts();
509
613
  for await (const chunk of renderAstroComponent(Component)) {
510
- html += stringifyChunk(result, chunk);
614
+ parts.append(chunk, result);
511
615
  }
512
- return html;
616
+ return parts.toString();
513
617
  }
514
618
  async function renderToIterable(result, componentFactory, displayName, props, children) {
515
619
  validateComponentProps(props, displayName);
@@ -541,7 +645,9 @@ async function* renderChild(child) {
541
645
  yield markHTMLString(escapeHTML(child));
542
646
  } else if (!child && child !== 0) ; else if (child instanceof AstroComponent || Object.prototype.toString.call(child) === "[object AstroComponent]") {
543
647
  yield* renderAstroComponent(child);
544
- } else if (typeof child === "object" && Symbol.asyncIterator in child) {
648
+ } else if (ArrayBuffer.isView(child)) {
649
+ yield child;
650
+ } else if (typeof child === "object" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {
545
651
  yield* child;
546
652
  } else {
547
653
  yield child;
@@ -1009,8 +1115,6 @@ async function* maybeRenderHead(result) {
1009
1115
 
1010
1116
  typeof process === "object" && Object.prototype.toString.call(process) === "[object process]";
1011
1117
 
1012
- new TextEncoder();
1013
-
1014
1118
  function createComponent(cb) {
1015
1119
  cb.isAstroComponentFactory = true;
1016
1120
  return cb;
@@ -1240,12 +1344,11 @@ async function renderJSX(result, vnode) {
1240
1344
  );
1241
1345
  }
1242
1346
  if (typeof output !== "string" && Symbol.asyncIterator in output) {
1243
- let body = "";
1347
+ let parts = new HTMLParts();
1244
1348
  for await (const chunk of output) {
1245
- let html = stringifyChunk(result, chunk);
1246
- body += html;
1349
+ parts.append(chunk, result);
1247
1350
  }
1248
- return markHTMLString(body);
1351
+ return markHTMLString(parts.toString());
1249
1352
  } else {
1250
1353
  return markHTMLString(output);
1251
1354
  }
@@ -1316,9 +1419,26 @@ var server_default = {
1316
1419
  function isOutputFormat(value) {
1317
1420
  return ["avif", "jpeg", "png", "webp"].includes(value);
1318
1421
  }
1422
+ function isOutputFormatSupportsAlpha(value) {
1423
+ return ["avif", "png", "webp"].includes(value);
1424
+ }
1319
1425
  function isAspectRatioString(value) {
1320
1426
  return /^\d*:\d*$/.test(value);
1321
1427
  }
1428
+ function parseAspectRatio(aspectRatio) {
1429
+ if (!aspectRatio) {
1430
+ return void 0;
1431
+ }
1432
+ if (typeof aspectRatio === "number") {
1433
+ return aspectRatio;
1434
+ } else {
1435
+ const [width, height] = aspectRatio.split(":");
1436
+ return parseInt(width) / parseInt(height);
1437
+ }
1438
+ }
1439
+ function isSSRService(service) {
1440
+ return "transform" in service;
1441
+ }
1322
1442
 
1323
1443
  class SharpService {
1324
1444
  async getImageAttributes(transform) {
@@ -1394,7 +1514,7 @@ class SharpService {
1394
1514
  return transform;
1395
1515
  }
1396
1516
  async transform(inputBuffer, transform) {
1397
- const sharpImage = sharp(inputBuffer, { failOnError: false, pages: -1 });
1517
+ const sharpImage = sharp$1(inputBuffer, { failOnError: false, pages: -1 });
1398
1518
  sharpImage.rotate();
1399
1519
  if (transform.width || transform.height) {
1400
1520
  const width = transform.width && Math.round(transform.width);
@@ -1407,11 +1527,11 @@ class SharpService {
1407
1527
  background: transform.background
1408
1528
  });
1409
1529
  }
1410
- if (transform.background) {
1411
- sharpImage.flatten({ background: transform.background });
1412
- }
1413
1530
  if (transform.format) {
1414
1531
  sharpImage.toFormat(transform.format, { quality: transform.quality });
1532
+ if (transform.background && !isOutputFormatSupportsAlpha(transform.format)) {
1533
+ sharpImage.flatten({ background: transform.background });
1534
+ }
1415
1535
  }
1416
1536
  const { data, info } = await sharpImage.toBuffer({ resolveWithObject: true });
1417
1537
  return {
@@ -1423,6 +1543,11 @@ class SharpService {
1423
1543
  const service = new SharpService();
1424
1544
  var sharp_default = service;
1425
1545
 
1546
+ const sharp = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1547
+ __proto__: null,
1548
+ default: sharp_default
1549
+ }, Symbol.toStringTag, { value: 'Module' }));
1550
+
1426
1551
  const fnv1a52 = (str) => {
1427
1552
  const len = str.length;
1428
1553
  let i = 0, t0 = 0, v0 = 8997, t1 = 0, v1 = 33826, t2 = 0, v2 = 40164, t3 = 0, v3 = 52210;
@@ -1493,8 +1618,11 @@ const _page0 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1493
1618
  get: get$1
1494
1619
  }, Symbol.toStringTag, { value: 'Module' }));
1495
1620
 
1621
+ if (!globalThis.__apiCache) {
1622
+ globalThis.__apiCache = {};
1623
+ }
1496
1624
  // @ts-ignore
1497
- const _env$1 = (Object.assign({"BASE_URL":"/","MODE":"production","DEV":false,"PROD":true},{LANG:process.env.LANG,ECOM_STORE_ID:process.env.ECOM_STORE_ID,BASE_URL:'/',}))
1625
+ const _env$1 = (Object.assign({"BASE_URL":"/","MODE":"production","DEV":false,"PROD":true},{LANG:process.env.LANG,ECOM_STORE_ID:process.env.ECOM_STORE_ID,SSR:true,BASE_URL:'/',}))
1498
1626
  || (typeof process === 'object' && process?.env)
1499
1627
  || globalThis;
1500
1628
  class ApiError extends Error {
@@ -1574,7 +1702,19 @@ const setMiddleware = (middleware) => {
1574
1702
  };
1575
1703
  const api = async (config, retries = 0) => {
1576
1704
  const { url, headers } = def.middleware(config);
1577
- const { method, timeout = 20000, maxRetries = 3 } = config;
1705
+ const {
1706
+ method = 'get', timeout = 20000, maxRetries = 3, cacheMaxAge = 600000, // 10 minutes
1707
+ } = config;
1708
+ const canCache = method === 'get'
1709
+ && (config.canCache || (config.canCache === undefined && _env$1.SSR));
1710
+ let cacheKey;
1711
+ if (canCache) {
1712
+ cacheKey = `${url}${JSON.stringify(headers)}`;
1713
+ const cached = globalThis.__apiCache[cacheKey];
1714
+ if (cached && Date.now() - cached.timestamp <= cacheMaxAge) {
1715
+ return { ...cached.res, config };
1716
+ }
1717
+ }
1578
1718
  const bodyObject = config.body || config.data;
1579
1719
  let body;
1580
1720
  if (bodyObject) {
@@ -1602,11 +1742,17 @@ const api = async (config, retries = 0) => {
1602
1742
  clearTimeout(timer);
1603
1743
  if (response) {
1604
1744
  if (response.ok) {
1605
- return {
1745
+ const res = {
1606
1746
  ...response,
1607
- config,
1608
1747
  data: await response.json(),
1609
1748
  };
1749
+ if (canCache && cacheKey) {
1750
+ globalThis.__apiCache[cacheKey] = {
1751
+ timestamp: Date.now(),
1752
+ res,
1753
+ };
1754
+ }
1755
+ return { ...res, config };
1610
1756
  }
1611
1757
  const { status } = response;
1612
1758
  if (maxRetries < retries && (status === 429 || status >= 500)) {
@@ -1657,7 +1803,7 @@ api.del = del;
1657
1803
  api.delete = del;
1658
1804
  // # sourceMappingURL=api.js.map
1659
1805
 
1660
- const $$module1$4 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1806
+ const $$module1$5 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1661
1807
  __proto__: null,
1662
1808
  default: api,
1663
1809
  setMiddleware,
@@ -1808,7 +1954,7 @@ const loadPageContext = async (Astro, {
1808
1954
  apiState[`${apiResource}/${apiDoc._id}`] = apiDoc;
1809
1955
  }
1810
1956
  prefetchResponses.forEach(({ config: { endpoint }, data }) => {
1811
- apiState[endpoint] = data;
1957
+ apiState[endpoint] = data.result || data;
1812
1958
  });
1813
1959
  } catch (err) {
1814
1960
  const error = err;
@@ -1847,18 +1993,18 @@ const loadPageContext = async (Astro, {
1847
1993
  };
1848
1994
  };
1849
1995
 
1850
- const $$module2$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1996
+ const $$module2$4 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1851
1997
  __proto__: null,
1852
1998
  default: loadPageContext,
1853
1999
  getConfig,
1854
2000
  loadPageContext
1855
2001
  }, Symbol.toStringTag, { value: 'Module' }));
1856
2002
 
1857
- const $$metadata$b = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Head.astro", { modules: [{ module: $$module1$5, specifier: "@ecomplus/utils", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
1858
- const $$Astro$b = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Head.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
1859
- const $$Head = createComponent(async ($$result, $$props, $$slots) => {
1860
- const Astro2 = $$result.createAstro($$Astro$b, $$props, $$slots);
1861
- Astro2.self = $$Head;
2003
+ const $$metadata$c = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro", { modules: [{ module: $$module1$6, specifier: "@ecomplus/utils", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2004
+ const $$Astro$c = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2005
+ const $$BaseHead = createComponent(async ($$result, $$props, $$slots) => {
2006
+ const Astro2 = $$result.createAstro($$Astro$c, $$props, $$slots);
2007
+ Astro2.self = $$BaseHead;
1862
2008
  const {
1863
2009
  storeId,
1864
2010
  cmsContent,
@@ -1891,10 +2037,11 @@ const $$Head = createComponent(async ($$result, $$props, $$slots) => {
1891
2037
  <meta name="viewport" content="width=device-width">
1892
2038
  <meta name="theme-color"${addAttribute(primaryColor, "content")}>
1893
2039
  <link rel="icon"${addAttribute(settings.favicon || "/favicon.ico", "href")}>
2040
+ ${renderTemplate`<link rel="manifest" href="/manifest.webmanifest">`}
1894
2041
  <title>${title}</title>
1895
2042
  <meta name="description"${addAttribute(description, "content")}>
1896
2043
  <meta name="author"${addAttribute(settings.name, "content")}>
1897
- <meta name="generator" content="E-Com Plus Cloud Commerce">
2044
+ <meta name="generator"${addAttribute(Astro2.generator, "content")}>
1898
2045
  <link rel="canonical"${addAttribute(canonicalUrl, "href")}>
1899
2046
  <link rel="apple-touch-icon"${addAttribute(settings.icon, "href")}>
1900
2047
  <meta name="apple-mobile-web-app-capable" content="yes">
@@ -1917,26 +2064,26 @@ ${cmsSocial.twitter_username && renderTemplate`<meta name="twitter:site"${addAtt
1917
2064
  `;
1918
2065
  });
1919
2066
 
1920
- const $$file$b = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Head.astro";
1921
- const $$url$b = undefined;
2067
+ const $$file$c = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro";
2068
+ const $$url$c = undefined;
1922
2069
 
1923
- const $$module2$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2070
+ const $$module2$3 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1924
2071
  __proto__: null,
1925
- $$metadata: $$metadata$b,
1926
- default: $$Head,
1927
- file: $$file$b,
1928
- url: $$url$b
2072
+ $$metadata: $$metadata$c,
2073
+ default: $$BaseHead,
2074
+ file: $$file$c,
2075
+ url: $$url$c
1929
2076
  }, Symbol.toStringTag, { value: 'Module' }));
1930
2077
 
1931
2078
  var __freeze = Object.freeze;
1932
2079
  var __defProp = Object.defineProperty;
1933
2080
  var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(raw || cooked.slice()) }));
1934
2081
  var _a;
1935
- const $$metadata$a = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Json.astro", { modules: [{ module: $$module1$5, specifier: "@ecomplus/utils", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
1936
- const $$Astro$a = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Json.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
1937
- const $$Json = createComponent(async ($$result, $$props, $$slots) => {
1938
- const Astro2 = $$result.createAstro($$Astro$a, $$props, $$slots);
1939
- Astro2.self = $$Json;
2082
+ const $$metadata$b = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro", { modules: [{ module: $$module1$6, specifier: "@ecomplus/utils", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2083
+ const $$Astro$b = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2084
+ const $$BaseStateJson = createComponent(async ($$result, $$props, $$slots) => {
2085
+ const Astro2 = $$result.createAstro($$Astro$b, $$props, $$slots);
2086
+ Astro2.self = $$BaseStateJson;
1940
2087
  const { pageContext } = Astro2.props;
1941
2088
  const {
1942
2089
  storeId,
@@ -1995,24 +2142,24 @@ window.storefront.context = ${JSON.stringify({
1995
2142
  url: `https://${domain}/`,
1996
2143
  logo: `https://${domain}${settings.logo}`
1997
2144
  });
1998
- return renderTemplate(_a || (_a = __template(["<script>", '<\/script>\n<script type="application/ld+json">', "<\/script>\n"])), markHTMLString(inlineClientJS), markHTMLString(inlineJSONLd));
2145
+ return renderTemplate(_a || (_a = __template(["<script>", '<\/script>\n<script type="application/ld+json">', "<\/script>\n"])), unescapeHTML(inlineClientJS), unescapeHTML(inlineJSONLd));
1999
2146
  });
2000
2147
 
2001
- const $$file$a = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Json.astro";
2002
- const $$url$a = undefined;
2148
+ const $$file$b = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro";
2149
+ const $$url$b = undefined;
2003
2150
 
2004
- const $$module3$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2151
+ const $$module3$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2005
2152
  __proto__: null,
2006
- $$metadata: $$metadata$a,
2007
- default: $$Json,
2008
- file: $$file$a,
2009
- url: $$url$a
2153
+ $$metadata: $$metadata$b,
2154
+ default: $$BaseStateJson,
2155
+ file: $$file$b,
2156
+ url: $$url$b
2010
2157
  }, Symbol.toStringTag, { value: 'Module' }));
2011
2158
 
2012
- const $$metadata$9 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro", { modules: [{ module: $$module1$6, specifier: "color", assert: {} }, { module: $$module2$1, specifier: "./meta/Head.astro", assert: {} }, { module: $$module3$1, specifier: "./meta/Json.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [{ type: "inline", value: `
2013
- import { initializeApp } from 'firebase/app';
2159
+ const $$metadata$a = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro", { modules: [{ module: $$module1$7, specifier: "color", assert: {} }, { module: $$module2$3, specifier: "./BaseHead.astro", assert: {} }, { module: $$module3$2, specifier: "./BaseStateJson.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [{ type: "inline", value: `
2014
2160
  import { registerSW } from 'virtual:pwa-register';
2015
- // @ts-ignore
2161
+ import { initializeApp } from 'firebase/app';
2162
+ registerSW();
2016
2163
  const firebaseConfig = window.firebaseConfig || {
2017
2164
  apiKey: "AIzaSyCrVzemDgpyp9i6ni7Yc5ZuEVfXYwl-4J0",
2018
2165
  authDomain: "ecom2-002.firebaseapp.com",
@@ -2023,17 +2170,10 @@ const $$metadata$9 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/
2023
2170
  measurementId: "G-SC592CE0GB"
2024
2171
  };
2025
2172
  initializeApp(firebaseConfig);
2026
- const updateSW = registerSW({
2027
- onNeedRefresh() {},
2028
- onOfflineReady() {
2029
- console.log('Offline ready');
2030
- },
2031
- });
2032
- updateSW();
2033
2173
  ` }] });
2034
- const $$Astro$9 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2174
+ const $$Astro$a = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2035
2175
  const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2036
- const Astro2 = $$result.createAstro($$Astro$9, $$props, $$slots);
2176
+ const Astro2 = $$result.createAstro($$Astro$a, $$props, $$slots);
2037
2177
  Astro2.self = $$Base;
2038
2178
  const { pageContext, title } = Astro2.props;
2039
2179
  const {
@@ -2068,7 +2208,7 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2068
2208
  const colorShift = colorVariants[colorVariant];
2069
2209
  const colorLabel = `${colorName}-${colorVariant}`;
2070
2210
  colorCSSVars[colorLabel] = color.darken(colorShift).hex();
2071
- if (Number(colorLabel) > 100 && Number(colorLabel) < 900) {
2211
+ if (Number(colorVariant) > 100 && Number(colorVariant) < 900) {
2072
2212
  colorCSSVars[`${colorLabel}-yiq`] = color.isLight() ? "var(--yiq-text-dark)" : "var(--yiq-text-light)";
2073
2213
  colorCSSVars[`${colorLabel}-rgb`] = `${color.red()}, ${color.green()}, ${color.blue()}`;
2074
2214
  }
@@ -2077,25 +2217,35 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2077
2217
  const $$definedVars = defineStyleVars([colorCSSVars]);
2078
2218
  const STYLES = [
2079
2219
  { props: { "is:global": true, "define:vars": colorCSSVars }, children: `:root {
2220
+ --content-max-width: 80rem;
2080
2221
  --white: #fff;
2081
- --gray: #6c757d;
2082
- --gray-dark: #343a40;
2222
+ --gray-50: theme('colors.gray.50');
2223
+ --gray-200: theme('colors.gray.200');
2224
+ --gray-700: theme('colors.gray.700');
2225
+ --gray-800: theme('colors.gray.800');
2226
+ --gray-900: theme('colors.gray.900');
2227
+ --surface-color: var(--gray-50);
2228
+ --surface-border-color: var(--gray-200);
2083
2229
  --yiq-text-light: var(--white);
2084
- --yiq-text-dark: var(--gray-dark);
2230
+ --yiq-text-dark: var(--gray-900);
2085
2231
  }
2086
2232
  body,
2087
2233
  body [data-theme=light],
2088
2234
  body [data-theme=dark] {
2089
2235
  --primary: var(--primary-500);
2090
2236
  --primary-hover: var(--primary-700);
2091
- --primary-focus: var(--primary-50);
2237
+ --primary-focus: rgba(var(--primary-200-rgb), 0.2);
2092
2238
  --primary-inverse: var(--primary-500-yiq);
2093
2239
  --secondary: var(--secondary-500);
2094
2240
  --secondary-hover: var(--secondary-700);
2095
- --secondary-focus: var(--secondary-50);
2241
+ --secondary-focus: rgba(var(--secondary-200-rgb), 0.2);
2096
2242
  --secondary-inverse: var(--secondary-500-yiq);
2097
2243
  }
2098
2244
  @media only screen and (prefers-color-scheme: dark) {
2245
+ :root:not([data-theme=light]) {
2246
+ --surface-color: var(--gray-800);
2247
+ --surface-border-color: var(--gray-700);
2248
+ }
2099
2249
  :root:not([data-theme=light]) a {
2100
2250
  --color: var(--primary-200);
2101
2251
  }
@@ -2103,22 +2253,19 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2103
2253
  --color: var(--primary-400);
2104
2254
  }
2105
2255
  }
2106
- [data-theme=light] a {
2107
- --color: var(--primary) !important;
2108
- }
2109
- [data-theme=light] a:is([aria-current], :hover, :active, :focus) {
2110
- --color: var(--primary-hover) !important;
2256
+ body {
2257
+ overflow-x: hidden;
2111
2258
  }` }
2112
2259
  ];
2113
2260
  for (const STYLE of STYLES)
2114
2261
  $$result.styles.add(STYLE);
2115
2262
  return renderTemplate`<html${addAttribute(lang.replace("_", "-"), "lang")}${addAttribute($$definedVars, "style")}>
2116
2263
  <head>
2117
- ${renderComponent($$result, "MetaHead", $$Head, { "pageContext": pageContext, "title": title })}
2118
- ${renderComponent($$result, "MetaJson", $$Json, { "pageContext": pageContext })}
2264
+ ${renderComponent($$result, "BaseHead", $$BaseHead, { "pageContext": pageContext, "title": title })}
2265
+ ${renderComponent($$result, "BaseStateJson", $$BaseStateJson, { "pageContext": pageContext })}
2119
2266
  ${renderSlot($$result, $$slots["before-head-end"], renderTemplate`
2120
2267
  ${cmsCustomCode.css && renderTemplate`<style>{cmsCustomCode.css}</style>`}
2121
- `)}${renderHead($$result)}</head>${cmsCustomCode.html_head && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(cmsCustomCode.html_head)}` })}`}
2268
+ `)}${renderHead($$result)}</head>${cmsCustomCode.html_head && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(cmsCustomCode.html_head)}` })}`}
2122
2269
 
2123
2270
  </html>
2124
2271
 
@@ -2126,7 +2273,7 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2126
2273
  ${renderSlot($$result, $$slots["default"])}
2127
2274
 
2128
2275
  ${renderSlot($$result, $$slots["before-body-end"], renderTemplate`
2129
- ${cmsCustomCode.html_body && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(cmsCustomCode.html_body)}` })}`}
2276
+ ${cmsCustomCode.html_body && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(cmsCustomCode.html_body)}` })}`}
2130
2277
  `)}
2131
2278
 
2132
2279
 
@@ -2134,31 +2281,386 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2134
2281
  `;
2135
2282
  });
2136
2283
 
2137
- const $$file$9 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro";
2138
- const $$url$9 = undefined;
2284
+ const $$file$a = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro";
2285
+ const $$url$a = undefined;
2286
+
2287
+ const $$module1$4 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2288
+ __proto__: null,
2289
+ $$metadata: $$metadata$a,
2290
+ default: $$Base,
2291
+ file: $$file$a,
2292
+ url: $$url$a
2293
+ }, Symbol.toStringTag, { value: 'Module' }));
2294
+
2295
+ function resolveSize(transform) {
2296
+ if (transform.width && transform.height) {
2297
+ return transform;
2298
+ }
2299
+ if (!transform.width && !transform.height) {
2300
+ throw new Error(`"width" and "height" cannot both be undefined`);
2301
+ }
2302
+ if (!transform.aspectRatio) {
2303
+ throw new Error(
2304
+ `"aspectRatio" must be included if only "${transform.width ? "width" : "height"}" is provided`
2305
+ );
2306
+ }
2307
+ let aspectRatio;
2308
+ if (typeof transform.aspectRatio === "number") {
2309
+ aspectRatio = transform.aspectRatio;
2310
+ } else {
2311
+ const [width, height] = transform.aspectRatio.split(":");
2312
+ aspectRatio = Number.parseInt(width) / Number.parseInt(height);
2313
+ }
2314
+ if (transform.width) {
2315
+ return {
2316
+ ...transform,
2317
+ width: transform.width,
2318
+ height: Math.round(transform.width / aspectRatio)
2319
+ };
2320
+ } else if (transform.height) {
2321
+ return {
2322
+ ...transform,
2323
+ width: Math.round(transform.height * aspectRatio),
2324
+ height: transform.height
2325
+ };
2326
+ }
2327
+ return transform;
2328
+ }
2329
+ async function resolveTransform(input) {
2330
+ if (typeof input.src === "string") {
2331
+ return resolveSize(input);
2332
+ }
2333
+ const metadata = "then" in input.src ? (await input.src).default : input.src;
2334
+ let { width, height, aspectRatio, background, format = metadata.format, ...rest } = input;
2335
+ if (!width && !height) {
2336
+ width = metadata.width;
2337
+ height = metadata.height;
2338
+ } else if (width) {
2339
+ let ratio = parseAspectRatio(aspectRatio) || metadata.width / metadata.height;
2340
+ height = height || Math.round(width / ratio);
2341
+ } else if (height) {
2342
+ let ratio = parseAspectRatio(aspectRatio) || metadata.width / metadata.height;
2343
+ width = width || Math.round(height * ratio);
2344
+ }
2345
+ return {
2346
+ ...rest,
2347
+ src: metadata.src,
2348
+ width,
2349
+ height,
2350
+ aspectRatio,
2351
+ format,
2352
+ background
2353
+ };
2354
+ }
2355
+ async function getImage$1(transform) {
2356
+ var _a, _b, _c;
2357
+ if (!transform.src) {
2358
+ throw new Error("[@astrojs/image] `src` is required");
2359
+ }
2360
+ let loader = (_a = globalThis.astroImage) == null ? void 0 : _a.loader;
2361
+ if (!loader) {
2362
+ const { default: mod } = await Promise.resolve().then(() => sharp).catch(() => {
2363
+ throw new Error(
2364
+ "[@astrojs/image] Builtin image loader not found. (Did you remember to add the integration to your Astro config?)"
2365
+ );
2366
+ });
2367
+ loader = mod;
2368
+ globalThis.astroImage = globalThis.astroImage || {};
2369
+ globalThis.astroImage.loader = loader;
2370
+ }
2371
+ const resolved = await resolveTransform(transform);
2372
+ const attributes = await loader.getImageAttributes(resolved);
2373
+ const isDev = (_b = (Object.assign({"BASE_URL":"/","MODE":"production","DEV":false,"PROD":true},{SSR:true,}))) == null ? void 0 : _b.DEV;
2374
+ const isLocalImage = !isRemoteImage(resolved.src);
2375
+ const _loader = isDev && isLocalImage ? sharp_default : loader;
2376
+ if (!_loader) {
2377
+ throw new Error("@astrojs/image: loader not found!");
2378
+ }
2379
+ const { searchParams } = isSSRService(_loader) ? _loader.serializeTransform(resolved) : sharp_default.serializeTransform(resolved);
2380
+ let src;
2381
+ if (/^[\/\\]?@astroimage/.test(resolved.src)) {
2382
+ src = `${resolved.src}?${searchParams.toString()}`;
2383
+ } else {
2384
+ searchParams.set("href", resolved.src);
2385
+ src = `/_image?${searchParams.toString()}`;
2386
+ }
2387
+ if ((_c = globalThis.astroImage) == null ? void 0 : _c.addStaticImage) {
2388
+ src = globalThis.astroImage.addStaticImage(resolved);
2389
+ }
2390
+ return {
2391
+ ...attributes,
2392
+ src
2393
+ };
2394
+ }
2395
+
2396
+ const tryImageSize = (src) => {
2397
+ let dimensions = {};
2398
+ if (typeof src === "string" && src.startsWith("/")) {
2399
+ try {
2400
+ dimensions = sizeOf(`public${src}`);
2401
+ } catch (e) {
2402
+ dimensions = {};
2403
+ }
2404
+ }
2405
+ return dimensions;
2406
+ };
2407
+ const getImage = (options) => {
2408
+ const { src } = options;
2409
+ if (typeof src === "string" && !options.aspectRatio && (!options.width || !options.height)) {
2410
+ const { width, height } = tryImageSize(src);
2411
+ return getImage$1({
2412
+ width,
2413
+ ...options,
2414
+ aspectRatio: width && height ? width / height : 1
2415
+ });
2416
+ }
2417
+ return getImage$1(options);
2418
+ };
2139
2419
 
2140
2420
  const $$module1$3 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2421
+ __proto__: null,
2422
+ default: getImage,
2423
+ tryImageSize,
2424
+ getImage
2425
+ }, Symbol.toStringTag, { value: 'Module' }));
2426
+
2427
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
2428
+ __name: "TopBar",
2429
+ __ssrInlineRender: true,
2430
+ props: {
2431
+ marketingStripe: null,
2432
+ hasNavbar: { type: Boolean, default: true },
2433
+ pageLinks: null,
2434
+ contacts: null,
2435
+ hasPhoneLinks: { type: Boolean, default: true },
2436
+ hasNetworkLinks: { type: Boolean },
2437
+ socialNetworks: { default() {
2438
+ return ["facebook", "twitter", "youtube", "pinterest", "instagram", "tiktok"];
2439
+ } },
2440
+ countdownClass: null,
2441
+ pageLinksClass: null,
2442
+ contactLinksClass: null,
2443
+ socialNetworksClass: null
2444
+ },
2445
+ setup(__props) {
2446
+ return (_ctx, _push, _parent, _attrs) => {
2447
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "top-bar w-full bg-surface" }, _attrs))}>`);
2448
+ ssrRenderSlot(_ctx.$slots, "countdown", { marketingStripe: __props.marketingStripe, countdownClass: __props.countdownClass }, () => {
2449
+ if (__props.marketingStripe && __props.marketingStripe.text) {
2450
+ ssrRenderVNode(_push, createVNode$1(resolveDynamicComponent(__props.marketingStripe.link ? "a" : "div"), {
2451
+ class: ["top-bar__countdown block text-sm text-center p-1 whitespace-nowrap overflow-x-auto", [__props.countdownClass, __props.marketingStripe.link ? "primary" : "secondary"]],
2452
+ href: __props.marketingStripe.link
2453
+ }, {
2454
+ default: withCtx((_, _push2, _parent2, _scopeId) => {
2455
+ if (_push2) {
2456
+ _push2(`${ssrInterpolate(__props.marketingStripe.text)}`);
2457
+ } else {
2458
+ return [
2459
+ createTextVNode(toDisplayString(__props.marketingStripe.text), 1)
2460
+ ];
2461
+ }
2462
+ }),
2463
+ _: 1
2464
+ }), _parent);
2465
+ } else {
2466
+ _push(`<!---->`);
2467
+ }
2468
+ }, _push, _parent);
2469
+ if (__props.hasNavbar) {
2470
+ _push(`<div class="top-bar__nav hidden md:block py-2"><div class="container"><div class="flex items-center lg:px-2 xl:px-4"><div class="grow text-xs">`);
2471
+ ssrRenderSlot(_ctx.$slots, "contacts-container", { pageLinks: __props.pageLinks, pageLinksClass: __props.pageLinksClass }, () => {
2472
+ if (__props.pageLinks) {
2473
+ _push(`<nav class="${ssrRenderClass([__props.pageLinksClass, "top-bar__page-links inline-block mr-4 font-semibold"])}"><!--[-->`);
2474
+ ssrRenderList(__props.pageLinks, ({ link, title }, i) => {
2475
+ _push(`<a class="mr-2 lg:mr-3"${ssrRenderAttr("href", link)}>${ssrInterpolate(title)}</a>`);
2476
+ });
2477
+ _push(`<!--]--></nav>`);
2478
+ } else {
2479
+ _push(`<!---->`);
2480
+ }
2481
+ }, _push, _parent);
2482
+ ssrRenderSlot(_ctx.$slots, "contact-links", { contacts: __props.contacts, hasPhoneLinks: __props.hasPhoneLinks, contactLinksClass: __props.contactLinksClass }, () => {
2483
+ if (__props.hasPhoneLinks) {
2484
+ _push(`<div class="${ssrRenderClass([__props.contactLinksClass, "top-bar__contact-links inline-block"])}">`);
2485
+ if (__props.contacts.whatsapp) {
2486
+ _push(`<a href="javascript:;" target="_blank" rel="noopener"${ssrRenderAttr("data-whatsapp-tel", __props.contacts.whatsapp.replace(/\D/g, ""))} class="mr-2"><i class="i-whatsapp"></i> ${ssrInterpolate(__props.contacts.whatsapp)}</a>`);
2487
+ } else {
2488
+ _push(`<!---->`);
2489
+ }
2490
+ if (__props.contacts.phone) {
2491
+ _push(`<a${ssrRenderAttr("href", `tel:+${__props.contacts.phone.replace(/\D/g, "")}`)} target="_blank" rel="noopener" class="mr-2"><i class="i-phone"></i> ${ssrInterpolate(__props.contacts.phone)}</a>`);
2492
+ } else {
2493
+ _push(`<!---->`);
2494
+ }
2495
+ _push(`</div>`);
2496
+ } else {
2497
+ _push(`<!---->`);
2498
+ }
2499
+ }, _push, _parent);
2500
+ _push(`</div>`);
2501
+ ssrRenderSlot(_ctx.$slots, "social-networks", { contacts: __props.contacts, hasNetworkLinks: __props.hasNetworkLinks, socialNetworksClass: __props.socialNetworksClass }, () => {
2502
+ if (__props.hasNetworkLinks) {
2503
+ _push(`<div class="top-bar__social-networks leading-none"><!--[-->`);
2504
+ ssrRenderList(__props.socialNetworks, (network) => {
2505
+ _push(`<!--[-->`);
2506
+ if (__props.contacts[network]) {
2507
+ _push(`<a${ssrRenderAttr("href", __props.contacts[network])} target="_blank" rel="noopener" class="ml-1">`);
2508
+ if (network === "facebook") {
2509
+ _push(`<i class="i-facebook"></i>`);
2510
+ } else if (network === "youtube") {
2511
+ _push(`<i class="i-youtube"></i>`);
2512
+ } else if (network === "twitter") {
2513
+ _push(`<i class="i-twitter"></i>`);
2514
+ } else if (network === "pinterest") {
2515
+ _push(`<i class="i-pinterest"></i>`);
2516
+ } else if (network === "instagram") {
2517
+ _push(`<i class="i-instagram"></i>`);
2518
+ } else if (network === "tiktok") {
2519
+ _push(`<i class="i-tiktok"></i>`);
2520
+ } else {
2521
+ _push(`<!---->`);
2522
+ }
2523
+ _push(`</a>`);
2524
+ } else {
2525
+ _push(`<!---->`);
2526
+ }
2527
+ _push(`<!--]-->`);
2528
+ });
2529
+ _push(`<!--]--></div>`);
2530
+ } else {
2531
+ _push(`<!---->`);
2532
+ }
2533
+ }, _push, _parent);
2534
+ _push(`</div></div></div>`);
2535
+ } else {
2536
+ _push(`<!---->`);
2537
+ }
2538
+ _push(`</div>`);
2539
+ };
2540
+ }
2541
+ });
2542
+
2543
+ const _sfc_setup$1 = _sfc_main$1.setup;
2544
+ _sfc_main$1.setup = (props, ctx) => {
2545
+ const ssrContext = useSSRContext();
2546
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/TopBar.vue");
2547
+ return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
2548
+ };
2549
+
2550
+ const $$module2$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2551
+ __proto__: null,
2552
+ default: _sfc_main$1
2553
+ }, Symbol.toStringTag, { value: 'Module' }));
2554
+
2555
+ const _sfc_main = /* @__PURE__ */ defineComponent({
2556
+ __name: "TheHeader",
2557
+ __ssrInlineRender: true,
2558
+ setup(__props) {
2559
+ return (_ctx, _push, _parent, _attrs) => {
2560
+ _push(`<header${ssrRenderAttrs(mergeProps({ class: "header bg-surface bg-opacity-70 sticky py-1 sm:py-2" }, _attrs))}><div class="container"><div class="grid items-center"><div class="i-bars-3-bottom-left md:hidden"></div>`);
2561
+ ssrRenderSlot(_ctx.$slots, "logo", {}, null, _push, _parent);
2562
+ _push(`</div></div></header>`);
2563
+ };
2564
+ }
2565
+ });
2566
+
2567
+ const _sfc_setup = _sfc_main.setup;
2568
+ _sfc_main.setup = (props, ctx) => {
2569
+ const ssrContext = useSSRContext();
2570
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/lib/components/TheHeader.vue");
2571
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
2572
+ };
2573
+
2574
+ const $$module3$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2575
+ __proto__: null,
2576
+ default: _sfc_main
2577
+ }, Symbol.toStringTag, { value: 'Module' }));
2578
+
2579
+ const $$metadata$9 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro", { modules: [{ module: $$module1$3, specifier: "../helpers/image", assert: {} }, { module: $$module2$2, specifier: "../components/TopBar.vue", assert: {} }, { module: $$module3$1, specifier: "../components/TheHeader.vue", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2580
+ const $$Astro$9 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2581
+ const $$PagesHeader = createComponent(async ($$result, $$props, $$slots) => {
2582
+ const Astro2 = $$result.createAstro($$Astro$9, $$props, $$slots);
2583
+ Astro2.self = $$PagesHeader;
2584
+ const {
2585
+ pageContext: {
2586
+ apiState,
2587
+ settings,
2588
+ cms
2589
+ },
2590
+ topBarProps,
2591
+ logoTransform
2592
+ } = Astro2.props;
2593
+ const header = cms("header");
2594
+ const contacts = cms("contacts");
2595
+ settings.theme.custom || "";
2596
+ let headerCategories = [];
2597
+ if (header.categories_list) {
2598
+ if (header.categories_list.featured.length) {
2599
+ headerCategories = header.categories_list.featured.map((pathAndName) => {
2600
+ const [path, name] = pathAndName.split("?");
2601
+ return { slug: path.slice(1), name };
2602
+ });
2603
+ }
2604
+ if (header.categories_list.random) {
2605
+ const mainCategories = apiState.categories?.filter(({ parent }) => !parent || !parent.slug);
2606
+ if (mainCategories) {
2607
+ for (let i = 0; i < header.categories_list.random && i < mainCategories.length; i++) {
2608
+ if (!headerCategories.find(({ slug }) => mainCategories[i].slug === slug)) {
2609
+ headerCategories.push({
2610
+ slug: mainCategories[i].slug,
2611
+ name: mainCategories[i].name
2612
+ });
2613
+ }
2614
+ }
2615
+ }
2616
+ }
2617
+ header.categories_list.full_width;
2618
+ }
2619
+ header.desktop_megamenu;
2620
+ header.alphabetical_order_submenu;
2621
+ header.full_width_submenu;
2622
+ globalThis.TopBarProps = {
2623
+ marketingStripe: header.marketing_stripe,
2624
+ pageLinks: header.contacts_stripe.pages,
2625
+ hasPhoneLinks: header.contacts_stripe.phone_wpp,
2626
+ hasNetworkLinks: header.contacts_stripe.socials,
2627
+ contacts,
2628
+ ...Astro2.props.topBarProps
2629
+ };
2630
+ const logoWebpAttrs = await getImage({
2631
+ src: settings.logo,
2632
+ width: 150,
2633
+ format: "webp",
2634
+ quality: 100,
2635
+ ...logoTransform
2636
+ });
2637
+ return renderTemplate`${renderSlot($$result, $$slots["top-bar"], renderTemplate`
2638
+ ${renderComponent($$result, "TopBar", _sfc_main$1, { ...globalThis.TopBarProps })}
2639
+ `)}
2640
+ ${renderSlot($$result, $$slots["header"], renderTemplate`
2641
+ ${renderComponent($$result, "TheHeader", _sfc_main, {}, { "logo": () => renderTemplate`${maybeRenderHead($$result)}<img${spreadAttributes(logoWebpAttrs)}${addAttribute(`${settings.name} (logo)`, "alt")}>` })}
2642
+ `)}`;
2643
+ });
2644
+
2645
+ const $$file$9 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro";
2646
+ const $$url$9 = undefined;
2647
+
2648
+ const $$module2$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2141
2649
  __proto__: null,
2142
2650
  $$metadata: $$metadata$9,
2143
- default: $$Base,
2651
+ default: $$PagesHeader,
2144
2652
  file: $$file$9,
2145
2653
  url: $$url$9
2146
2654
  }, Symbol.toStringTag, { value: 'Module' }));
2147
2655
 
2148
- const $$metadata$8 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Pages.astro", { modules: [{ module: $$module1$3, specifier: "./Base.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2656
+ const $$metadata$8 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Pages.astro", { modules: [{ module: $$module1$4, specifier: "./Base.astro", assert: {} }, { module: $$module2$1, specifier: "./PagesHeader.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2149
2657
  const $$Astro$8 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Pages.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2150
2658
  const $$Pages = createComponent(async ($$result, $$props, $$slots) => {
2151
2659
  const Astro2 = $$result.createAstro($$Astro$8, $$props, $$slots);
2152
2660
  Astro2.self = $$Pages;
2153
2661
  const { pageContext, title } = Astro2.props;
2154
2662
  return renderTemplate`${renderComponent($$result, "Base", $$Base, { "pageContext": pageContext, "title": title }, { "before-body-end": () => renderTemplate`${renderComponent($$result, "Fragment", Fragment, { "slot": "before-body-end" }, { "default": () => renderTemplate`${renderSlot($$result, $$slots["before-body-end"])}` })}`, "before-head-end": () => renderTemplate`${renderComponent($$result, "Fragment", Fragment, { "slot": "before-head-end" }, { "default": () => renderTemplate`${renderSlot($$result, $$slots["before-head-end"])}` })}`, "default": () => renderTemplate`${renderSlot($$result, $$slots["header"], renderTemplate`
2155
- ${maybeRenderHead($$result)}<div class="i-shopping-cart" text="sky-400"></div>
2156
- <div class="i-google-pay w-32"></div>
2157
- <div class="i-logos:apple bg-primary"></div>
2158
- <div class="i-heroicons:user bg-primary-300"></div>
2159
- <div class="i-user bg-primary-700"></div>
2160
- <div class="i-user bg-secondary-hover"></div>
2161
- <div class="i-user bg-contrast"></div>
2663
+ ${renderComponent($$result, "Header", $$PagesHeader, { "pageContext": pageContext })}
2162
2664
  `)}${renderSlot($$result, $$slots["default"])}` })}`;
2163
2665
  });
2164
2666
 
@@ -2207,7 +2709,7 @@ const $$module2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2207
2709
  url: $$url$7
2208
2710
  }, Symbol.toStringTag, { value: 'Module' }));
2209
2711
 
2210
- const $$metadata$6 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/main/Home.astro", { modules: [{ module: $$module1$4, specifier: "@cloudcommerce/api", assert: {} }, { module: $$module2, specifier: "../components/Card.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2712
+ const $$metadata$6 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/main/Home.astro", { modules: [{ module: $$module1$5, specifier: "@cloudcommerce/api", assert: {} }, { module: $$module2, specifier: "../components/Card.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2211
2713
  const $$Astro$6 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/main/Home.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2212
2714
  const $$Home = createComponent(async ($$result, $$props, $$slots) => {
2213
2715
  const Astro2 = $$result.createAstro($$Astro$6, $$props, $$slots);
@@ -2249,7 +2751,7 @@ const $$module3 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2249
2751
  url: $$url$6
2250
2752
  }, Symbol.toStringTag, { value: 'Module' }));
2251
2753
 
2252
- const $$metadata$5 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro", { modules: [{ module: $$module2$2, specifier: "../lib/ssr-context", assert: {} }, { module: $$module1$2, specifier: "../lib/layouts/Pages.astro", assert: {} }, { module: $$module3, specifier: "../lib/main/Home.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2754
+ const $$metadata$5 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro", { modules: [{ module: $$module2$4, specifier: "../lib/ssr-context", assert: {} }, { module: $$module1$2, specifier: "../lib/layouts/Pages.astro", assert: {} }, { module: $$module3, specifier: "../lib/main/Home.astro", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2253
2755
  const $$Astro$5 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2254
2756
  const $$Index$1 = createComponent(async ($$result, $$props, $$slots) => {
2255
2757
  const Astro2 = $$result.createAstro($$Astro$5, $$props, $$slots);
@@ -2265,7 +2767,7 @@ const $$Index$1 = createComponent(async ($$result, $$props, $$slots) => {
2265
2767
  loadError = err;
2266
2768
  }
2267
2769
  return renderTemplate`${pageContext && renderTemplate`${renderComponent($$result, "PagesLayout", $$Pages, { "pageContext": pageContext }, { "default": () => renderTemplate`${renderComponent($$result, "HomeMain", $$Home, { "pageContext": pageContext })}` })}`}
2268
- ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(loadError.responseHTML)}` })}`}`;
2770
+ ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(loadError.responseHTML)}` })}`}`;
2269
2771
  });
2270
2772
 
2271
2773
  const $$file$5 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro";
@@ -2316,7 +2818,7 @@ const $$module1$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.definePropert
2316
2818
  url: $$url$4
2317
2819
  }, Symbol.toStringTag, { value: 'Module' }));
2318
2820
 
2319
- const $$metadata$3 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro", { modules: [{ module: $$module1$1, specifier: "../lib/views/fallback.astro", assert: {} }, { module: $$module2$2, specifier: "../lib/ssr-context", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2821
+ const $$metadata$3 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro", { modules: [{ module: $$module1$1, specifier: "../lib/views/fallback.astro", assert: {} }, { module: $$module2$4, specifier: "../lib/ssr-context", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2320
2822
  const $$Astro$3 = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2321
2823
  const $$Fallback = createComponent(async ($$result, $$props, $$slots) => {
2322
2824
  const Astro2 = $$result.createAstro($$Astro$3, $$props, $$slots);
@@ -2394,11 +2896,14 @@ const $$module1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2394
2896
  url: $$url$1
2395
2897
  }, Symbol.toStringTag, { value: 'Module' }));
2396
2898
 
2397
- const $$metadata = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro", { modules: [{ module: $$module1, specifier: "../lib/views/[...slug].astro", assert: {} }, { module: $$module2$2, specifier: "../lib/ssr-context", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2899
+ const $$metadata = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro", { modules: [{ module: $$module1, specifier: "../lib/views/[...slug].astro", assert: {} }, { module: $$module2$4, specifier: "../lib/ssr-context", assert: {} }], hydratedComponents: [], clientOnlyComponents: [], hydrationDirectives: /* @__PURE__ */ new Set([]), hoisted: [] });
2398
2900
  const $$Astro = createAstro("/@fs/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro", "https://storefront-demo.e-com.plus/", "file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/");
2399
2901
  const $$ = createComponent(async ($$result, $$props, $$slots) => {
2400
2902
  const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
2401
2903
  Astro2.self = $$;
2904
+ if (String(Astro2.params.slug).endsWith(".css.map")) {
2905
+ return new Response(null, { status: 404 });
2906
+ }
2402
2907
  let pageContext;
2403
2908
  let loadError;
2404
2909
  try {
@@ -2410,7 +2915,7 @@ const $$ = createComponent(async ($$result, $$props, $$slots) => {
2410
2915
  loadError = err;
2411
2916
  }
2412
2917
  return renderTemplate`${pageContext && renderTemplate`${renderComponent($$result, "ViewWildcard", $$$1, { "pageContext": pageContext })}`}
2413
- ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(loadError.responseHTML)}` })}`}`;
2918
+ ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(loadError.responseHTML)}` })}`}`;
2414
2919
  });
2415
2920
 
2416
2921
  const $$file = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro";
@@ -2424,7 +2929,7 @@ const _page4 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2424
2929
  url: $$url
2425
2930
  }, Symbol.toStringTag, { value: 'Module' }));
2426
2931
 
2427
- const pageMap = new Map([['../../node_modules/.pnpm/@astrojs+image@0.7.0/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/[...slug].astro', _page4],]);
2932
+ const pageMap = new Map([['../../node_modules/.pnpm/@astrojs+image@0.7.1/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/[...slug].astro', _page4],]);
2428
2933
  const renderers = [Object.assign({"name":"astro:jsx","serverEntrypoint":"astro/jsx/server.js","jsxImportSource":"astro"}, { ssr: server_default }),Object.assign({"name":"@astrojs/vue","clientEntrypoint":"@astrojs/vue/client.js","serverEntrypoint":"@astrojs/vue/server.js"}, { ssr: _renderer1 }),];
2429
2934
 
2430
2935
  if (typeof process !== "undefined") {
@@ -2496,7 +3001,7 @@ function deserializeManifest(serializedManifest) {
2496
3001
  };
2497
3002
  }
2498
3003
 
2499
- const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.7.0/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...65ca64e2.css","assets/_...11681504.css","assets/fallback-index.552fd862.css","assets/index.73f26ab5.css"],"scripts":[{"type":"external","value":"hoisted.f0efb207.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...65ca64e2.css","assets/_...11681504.css","assets/fallback-index.552fd862.css","assets/fallback.a3f85892.css"],"scripts":[{"type":"external","value":"hoisted.f0efb207.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/fallback","type":"page","pattern":"^\\/fallback\\/?$","segments":[[{"content":"fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/fallback.astro","pathname":"/fallback","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...65ca64e2.css"],"scripts":[{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...65ca64e2.css","assets/_...11681504.css","assets/_...b330a555.css"],"scripts":[{"type":"external","value":"hoisted.f0efb207.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","_meta":{"trailingSlash":"ignore"}}}],"site":"https://storefront-demo.e-com.plus/","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"extendDefaultPlugins":false,"isAstroFlavoredMd":false},"pageMap":null,"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"entry.mjs","@astrojs/vue/client.js":"client.80baece3.js","/astro/hoisted.js?q=0":"hoisted.f0efb207.js","astro:scripts/page.js":"page.3aa82516.js","astro:scripts/before-hydration.js":""},"assets":["/assets/_...b330a555.css","/assets/fallback.a3f85892.css","/assets/fallback-index.552fd862.css","/assets/index.73f26ab5.css","/assets/_...11681504.css","/assets/_...65ca64e2.css","/manifest.webmanifest","/registerSW.js","/client.80baece3.js","/favicon.ico","/hoisted.f0efb207.js","/page.3aa82516.js","/sw.js","/workbox-70b8fbb9.js","/page.3aa82516.js","/~partytown/partytown-atomics.js","/~partytown/partytown-media.js","/~partytown/partytown-sw.js","/~partytown/partytown.js"]}), {
3004
+ const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.7.1/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...2fc8f657.css","assets/_...7af61807.css","assets/fallback-index.552fd862.css","assets/index.73f26ab5.css"],"scripts":[{"type":"external","value":"hoisted.46e058d2.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...2fc8f657.css","assets/_...7af61807.css","assets/fallback-index.552fd862.css","assets/fallback.a3f85892.css"],"scripts":[{"type":"external","value":"hoisted.46e058d2.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/fallback","type":"page","pattern":"^\\/fallback\\/?$","segments":[[{"content":"fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/fallback.astro","pathname":"/fallback","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...2fc8f657.css"],"scripts":[{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["assets/_...2fc8f657.css","assets/_...7af61807.css","assets/_...b330a555.css"],"scripts":[{"type":"external","value":"hoisted.46e058d2.js"},{"type":"external","value":"page.3aa82516.js"},{"stage":"head-inline","children":"!(function(w,p,f,c){c=w[p]=Object.assign(w[p]||{},{\"lib\":\"/~partytown/\",\"debug\":false});c[f]=(c[f]||[])})(window,'partytown','forward');/* Partytown 0.4.5 - MIT builder.io */\n!function(t,e,n,i,r,o,a,d,s,c,p,l){function u(){l||(l=1,\"/\"==(a=(o.lib||\"/~partytown/\")+(o.debug?\"debug/\":\"\"))[0]&&(s=e.querySelectorAll('script[type=\"text/partytown\"]'),i!=t?i.dispatchEvent(new CustomEvent(\"pt1\",{detail:t})):(d=setTimeout(w,1e4),e.addEventListener(\"pt0\",f),r?h(1):n.serviceWorker?n.serviceWorker.register(a+(o.swPath||\"partytown-sw.js\"),{scope:a}).then((function(t){t.active?h():t.installing&&t.installing.addEventListener(\"statechange\",(function(t){\"activated\"==t.target.state&&h()}))}),console.error):w())))}function h(t){c=e.createElement(t?\"script\":\"iframe\"),t||(c.setAttribute(\"style\",\"display:block;width:0;height:0;border:0;visibility:hidden\"),c.setAttribute(\"aria-hidden\",!0)),c.src=a+\"partytown-\"+(t?\"atomics.js?v=0.4.5\":\"sandbox-sw.html?\"+Date.now()),e.body.appendChild(c)}function w(t,n){for(f(),t=0;t<s.length;t++)(n=e.createElement(\"script\")).innerHTML=s[t].innerHTML,e.head.appendChild(n);c&&c.parentNode.removeChild(c)}function f(){clearTimeout(d)}o=t.partytown||{},i==t&&(o.forward||[]).map((function(e){p=t,e.split(\".\").map((function(e,n,i){p=p[i[n]]=n+1<i.length?\"push\"==i[n+1]?[]:p[i[n]]||{}:function(){(t._ptf=t._ptf||[]).push(i,arguments)}}))})),\"complete\"==e.readyState?u():(t.addEventListener(\"DOMContentLoaded\",u),t.addEventListener(\"load\",u))}(window,document,navigator,top,window.crossOriginIsolated);"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","_meta":{"trailingSlash":"ignore"}}}],"site":"https://storefront-demo.e-com.plus/","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"extendDefaultPlugins":false,"isAstroFlavoredMd":false},"pageMap":null,"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"entry.mjs","@astrojs/vue/client.js":"client.80baece3.js","/astro/hoisted.js?q=0":"hoisted.46e058d2.js","astro:scripts/page.js":"page.3aa82516.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/.pnpm/workbox-window@6.5.4/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"chunks/workbox-window.prod.es5.4b654ae6.js","astro:scripts/before-hydration.js":""},"assets":["/assets/_...b330a555.css","/assets/fallback.a3f85892.css","/assets/fallback-index.552fd862.css","/assets/index.73f26ab5.css","/assets/_...7af61807.css","/assets/_...2fc8f657.css","/manifest.webmanifest","/registerSW.js","/client.80baece3.js","/hoisted.46e058d2.js","/page.3aa82516.js","/robots.txt","/sw.js","/workbox-361aba39.js","/assets/cms-preview.css","/assets/cms.css","/assets/cvv.png","/assets/img-placeholder.png","/assets/payments.png","/assets/ssl-safe.png","/chunks/workbox-window.prod.es5.4b654ae6.js","/admin/config.json","/img/icon.png","/img/large-icon.png","/img/uploads/banner1.png","/img/uploads/banner2.png","/img/uploads/banner2.webp","/img/uploads/favicon.png","/img/uploads/headless.png","/img/uploads/headphone.png","/img/uploads/headphone.webp","/img/uploads/icon.png","/img/uploads/large-icon.png","/img/uploads/logo.png","/img/uploads/logo.webp","/img/uploads/og-image.png","/img/uploads/passion.png","/img/uploads/passion.webp","/img/uploads/pwa-reliable.png","/img/uploads/rect8589.png","/img/uploads/rect859.png","/img/uploads/rect89.png","/img/uploads/rect89.webp","/img/uploads/ssl-safe.png","/assets/icons/bootstrap-icons/font/storefront-icons.woff2","/assets/icons/feather-icons/font/storefront-icons.woff2","/assets/icons/font-awesome/font/storefront-icons.woff2","/assets/icons/line-awesome/font/storefront-icons.woff2","/assets/icons/tabler-icons/font/storefront-icons.woff2","/page.3aa82516.js","/~partytown/partytown-atomics.js","/~partytown/partytown-media.js","/~partytown/partytown-sw.js","/~partytown/partytown.js"]}), {
2500
3005
  pageMap: pageMap,
2501
3006
  renderers: renderers
2502
3007
  });