cloudcommerce 0.0.83 → 0.0.85

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 (59) hide show
  1. package/.vscode/extensions.json +1 -1
  2. package/.vscode/settings.json +2 -3
  3. package/CHANGELOG.md +27 -0
  4. package/package.json +6 -6
  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 +6 -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/lib/init.d.ts +1 -1
  22. package/packages/firebase/lib/init.js +1 -1
  23. package/packages/firebase/lib/init.js.map +1 -1
  24. package/packages/firebase/package.json +1 -1
  25. package/packages/firebase/src/init.ts +1 -1
  26. package/packages/modules/package.json +1 -1
  27. package/packages/passport/package.json +1 -1
  28. package/packages/ssr/package.json +1 -1
  29. package/packages/storefront/content/header.json +3 -1
  30. package/packages/storefront/dist/client/assets/_...2fc8f657.css +1 -0
  31. package/packages/storefront/dist/client/assets/{_...11681504.css → _...7af61807.css} +1 -1
  32. package/packages/storefront/dist/client/sw.js +1 -1
  33. package/packages/storefront/dist/client/{workbox-8b24c3ff.js → workbox-361aba39.js} +1 -1
  34. package/packages/storefront/dist/server/entry.mjs +605 -94
  35. package/packages/storefront/package.json +8 -7
  36. package/packages/storefront/src/env.d.ts +1 -1
  37. package/packages/storefront/src/lib/components/TheHeader.vue +15 -0
  38. package/packages/storefront/src/lib/components/TopBar.vue +141 -0
  39. package/packages/storefront/src/lib/helpers/image.ts +36 -0
  40. package/packages/storefront/src/lib/layouts/Base.astro +24 -16
  41. package/packages/storefront/src/lib/layouts/{meta/Head.astro → BaseHead.astro} +4 -3
  42. package/packages/storefront/src/lib/layouts/{meta/Json.astro → BaseStateJson.astro} +1 -1
  43. package/packages/storefront/src/lib/layouts/Pages.astro +2 -7
  44. package/packages/storefront/src/lib/layouts/PagesHeader.astro +92 -0
  45. package/packages/storefront/src/lib/ssr-context.ts +6 -4
  46. package/packages/storefront/src/pages/[...slug].astro +4 -0
  47. package/packages/storefront/src/types/cms-code.d.ts +5 -0
  48. package/packages/storefront/src/types/cms-contacts.d.ts +5 -0
  49. package/packages/storefront/src/types/cms-header.d.ts +5 -0
  50. package/packages/storefront/src/types/cms-settings.d.ts +5 -0
  51. package/packages/storefront/src/types/cms-social.d.ts +5 -0
  52. package/packages/storefront/tailwind.config.cjs +78 -0
  53. package/packages/storefront/uno.config.ts +55 -30
  54. package/packages/types/index.ts +1 -1
  55. package/packages/types/package.json +1 -1
  56. package/tsconfig.json +2 -1
  57. package/packages/storefront/dist/client/assets/_...65ca64e2.css +0 -1
  58. package/packages/storefront/src/html.d.ts +0 -23
  59. 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,
@@ -1895,7 +2041,7 @@ ${renderTemplate`<link rel="manifest" href="/manifest.webmanifest">`}
1895
2041
  <title>${title}</title>
1896
2042
  <meta name="description"${addAttribute(description, "content")}>
1897
2043
  <meta name="author"${addAttribute(settings.name, "content")}>
1898
- <meta name="generator" content="E-Com Plus Cloud Commerce">
2044
+ <meta name="generator"${addAttribute(Astro2.generator, "content")}>
1899
2045
  <link rel="canonical"${addAttribute(canonicalUrl, "href")}>
1900
2046
  <link rel="apple-touch-icon"${addAttribute(settings.icon, "href")}>
1901
2047
  <meta name="apple-mobile-web-app-capable" content="yes">
@@ -1918,26 +2064,26 @@ ${cmsSocial.twitter_username && renderTemplate`<meta name="twitter:site"${addAtt
1918
2064
  `;
1919
2065
  });
1920
2066
 
1921
- const $$file$b = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Head.astro";
1922
- 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;
1923
2069
 
1924
- const $$module2$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2070
+ const $$module2$3 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
1925
2071
  __proto__: null,
1926
- $$metadata: $$metadata$b,
1927
- default: $$Head,
1928
- file: $$file$b,
1929
- url: $$url$b
2072
+ $$metadata: $$metadata$c,
2073
+ default: $$BaseHead,
2074
+ file: $$file$c,
2075
+ url: $$url$c
1930
2076
  }, Symbol.toStringTag, { value: 'Module' }));
1931
2077
 
1932
2078
  var __freeze = Object.freeze;
1933
2079
  var __defProp = Object.defineProperty;
1934
2080
  var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(raw || cooked.slice()) }));
1935
2081
  var _a;
1936
- 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: [] });
1937
- 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/");
1938
- const $$Json = createComponent(async ($$result, $$props, $$slots) => {
1939
- const Astro2 = $$result.createAstro($$Astro$a, $$props, $$slots);
1940
- 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;
1941
2087
  const { pageContext } = Astro2.props;
1942
2088
  const {
1943
2089
  storeId,
@@ -1996,21 +2142,21 @@ window.storefront.context = ${JSON.stringify({
1996
2142
  url: `https://${domain}/`,
1997
2143
  logo: `https://${domain}${settings.logo}`
1998
2144
  });
1999
- 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));
2000
2146
  });
2001
2147
 
2002
- const $$file$a = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/meta/Json.astro";
2003
- 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;
2004
2150
 
2005
- const $$module3$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2151
+ const $$module3$2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2006
2152
  __proto__: null,
2007
- $$metadata: $$metadata$a,
2008
- default: $$Json,
2009
- file: $$file$a,
2010
- url: $$url$a
2153
+ $$metadata: $$metadata$b,
2154
+ default: $$BaseStateJson,
2155
+ file: $$file$b,
2156
+ url: $$url$b
2011
2157
  }, Symbol.toStringTag, { value: 'Module' }));
2012
2158
 
2013
- 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: `
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
2161
  import { initializeApp } from 'firebase/app';
2016
2162
  registerSW();
@@ -2025,9 +2171,9 @@ const $$metadata$9 = createMetadata("/@fs/home/leo/code/ecomplus/cloud-commerce/
2025
2171
  };
2026
2172
  initializeApp(firebaseConfig);
2027
2173
  ` }] });
2028
- 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/");
2029
2175
  const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2030
- const Astro2 = $$result.createAstro($$Astro$9, $$props, $$slots);
2176
+ const Astro2 = $$result.createAstro($$Astro$a, $$props, $$slots);
2031
2177
  Astro2.self = $$Base;
2032
2178
  const { pageContext, title } = Astro2.props;
2033
2179
  const {
@@ -2062,7 +2208,7 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2062
2208
  const colorShift = colorVariants[colorVariant];
2063
2209
  const colorLabel = `${colorName}-${colorVariant}`;
2064
2210
  colorCSSVars[colorLabel] = color.darken(colorShift).hex();
2065
- if (Number(colorLabel) > 100 && Number(colorLabel) < 900) {
2211
+ if (Number(colorVariant) > 100 && Number(colorVariant) < 900) {
2066
2212
  colorCSSVars[`${colorLabel}-yiq`] = color.isLight() ? "var(--yiq-text-dark)" : "var(--yiq-text-light)";
2067
2213
  colorCSSVars[`${colorLabel}-rgb`] = `${color.red()}, ${color.green()}, ${color.blue()}`;
2068
2214
  }
@@ -2071,25 +2217,35 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2071
2217
  const $$definedVars = defineStyleVars([colorCSSVars]);
2072
2218
  const STYLES = [
2073
2219
  { props: { "is:global": true, "define:vars": colorCSSVars }, children: `:root {
2220
+ --content-max-width: 80rem;
2074
2221
  --white: #fff;
2075
- --gray: #6c757d;
2076
- --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);
2077
2229
  --yiq-text-light: var(--white);
2078
- --yiq-text-dark: var(--gray-dark);
2230
+ --yiq-text-dark: var(--gray-900);
2079
2231
  }
2080
2232
  body,
2081
2233
  body [data-theme=light],
2082
2234
  body [data-theme=dark] {
2083
2235
  --primary: var(--primary-500);
2084
2236
  --primary-hover: var(--primary-700);
2085
- --primary-focus: var(--primary-50);
2237
+ --primary-focus: rgba(var(--primary-200-rgb), 0.2);
2086
2238
  --primary-inverse: var(--primary-500-yiq);
2087
2239
  --secondary: var(--secondary-500);
2088
2240
  --secondary-hover: var(--secondary-700);
2089
- --secondary-focus: var(--secondary-50);
2241
+ --secondary-focus: rgba(var(--secondary-200-rgb), 0.2);
2090
2242
  --secondary-inverse: var(--secondary-500-yiq);
2091
2243
  }
2092
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
+ }
2093
2249
  :root:not([data-theme=light]) a {
2094
2250
  --color: var(--primary-200);
2095
2251
  }
@@ -2097,22 +2253,19 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2097
2253
  --color: var(--primary-400);
2098
2254
  }
2099
2255
  }
2100
- [data-theme=light] a {
2101
- --color: var(--primary) !important;
2102
- }
2103
- [data-theme=light] a:is([aria-current], :hover, :active, :focus) {
2104
- --color: var(--primary-hover) !important;
2256
+ body {
2257
+ overflow-x: hidden;
2105
2258
  }` }
2106
2259
  ];
2107
2260
  for (const STYLE of STYLES)
2108
2261
  $$result.styles.add(STYLE);
2109
2262
  return renderTemplate`<html${addAttribute(lang.replace("_", "-"), "lang")}${addAttribute($$definedVars, "style")}>
2110
2263
  <head>
2111
- ${renderComponent($$result, "MetaHead", $$Head, { "pageContext": pageContext, "title": title })}
2112
- ${renderComponent($$result, "MetaJson", $$Json, { "pageContext": pageContext })}
2264
+ ${renderComponent($$result, "BaseHead", $$BaseHead, { "pageContext": pageContext, "title": title })}
2265
+ ${renderComponent($$result, "BaseStateJson", $$BaseStateJson, { "pageContext": pageContext })}
2113
2266
  ${renderSlot($$result, $$slots["before-head-end"], renderTemplate`
2114
2267
  ${cmsCustomCode.css && renderTemplate`<style>{cmsCustomCode.css}</style>`}
2115
- `)}${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)}` })}`}
2116
2269
 
2117
2270
  </html>
2118
2271
 
@@ -2120,7 +2273,7 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2120
2273
  ${renderSlot($$result, $$slots["default"])}
2121
2274
 
2122
2275
  ${renderSlot($$result, $$slots["before-body-end"], renderTemplate`
2123
- ${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)}` })}`}
2124
2277
  `)}
2125
2278
 
2126
2279
 
@@ -2128,31 +2281,386 @@ const $$Base = createComponent(async ($$result, $$props, $$slots) => {
2128
2281
  `;
2129
2282
  });
2130
2283
 
2131
- const $$file$9 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro";
2132
- 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
+ };
2133
2419
 
2134
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({
2135
2649
  __proto__: null,
2136
2650
  $$metadata: $$metadata$9,
2137
- default: $$Base,
2651
+ default: $$PagesHeader,
2138
2652
  file: $$file$9,
2139
2653
  url: $$url$9
2140
2654
  }, Symbol.toStringTag, { value: 'Module' }));
2141
2655
 
2142
- 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: [] });
2143
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/");
2144
2658
  const $$Pages = createComponent(async ($$result, $$props, $$slots) => {
2145
2659
  const Astro2 = $$result.createAstro($$Astro$8, $$props, $$slots);
2146
2660
  Astro2.self = $$Pages;
2147
2661
  const { pageContext, title } = Astro2.props;
2148
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`
2149
- ${maybeRenderHead($$result)}<div class="i-shopping-cart" text="sky-400"></div>
2150
- <div class="i-google-pay w-32"></div>
2151
- <div class="i-logos:apple bg-primary"></div>
2152
- <div class="i-heroicons:user bg-primary-300"></div>
2153
- <div class="i-user bg-primary-700"></div>
2154
- <div class="i-user bg-secondary-hover"></div>
2155
- <div class="i-user bg-contrast"></div>
2663
+ ${renderComponent($$result, "Header", $$PagesHeader, { "pageContext": pageContext })}
2156
2664
  `)}${renderSlot($$result, $$slots["default"])}` })}`;
2157
2665
  });
2158
2666
 
@@ -2201,7 +2709,7 @@ const $$module2 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2201
2709
  url: $$url$7
2202
2710
  }, Symbol.toStringTag, { value: 'Module' }));
2203
2711
 
2204
- 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: [] });
2205
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/");
2206
2714
  const $$Home = createComponent(async ($$result, $$props, $$slots) => {
2207
2715
  const Astro2 = $$result.createAstro($$Astro$6, $$props, $$slots);
@@ -2243,7 +2751,7 @@ const $$module3 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2243
2751
  url: $$url$6
2244
2752
  }, Symbol.toStringTag, { value: 'Module' }));
2245
2753
 
2246
- 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: [] });
2247
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/");
2248
2756
  const $$Index$1 = createComponent(async ($$result, $$props, $$slots) => {
2249
2757
  const Astro2 = $$result.createAstro($$Astro$5, $$props, $$slots);
@@ -2259,7 +2767,7 @@ const $$Index$1 = createComponent(async ($$result, $$props, $$slots) => {
2259
2767
  loadError = err;
2260
2768
  }
2261
2769
  return renderTemplate`${pageContext && renderTemplate`${renderComponent($$result, "PagesLayout", $$Pages, { "pageContext": pageContext }, { "default": () => renderTemplate`${renderComponent($$result, "HomeMain", $$Home, { "pageContext": pageContext })}` })}`}
2262
- ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(loadError.responseHTML)}` })}`}`;
2770
+ ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(loadError.responseHTML)}` })}`}`;
2263
2771
  });
2264
2772
 
2265
2773
  const $$file$5 = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro";
@@ -2310,7 +2818,7 @@ const $$module1$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.definePropert
2310
2818
  url: $$url$4
2311
2819
  }, Symbol.toStringTag, { value: 'Module' }));
2312
2820
 
2313
- 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: [] });
2314
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/");
2315
2823
  const $$Fallback = createComponent(async ($$result, $$props, $$slots) => {
2316
2824
  const Astro2 = $$result.createAstro($$Astro$3, $$props, $$slots);
@@ -2388,11 +2896,14 @@ const $$module1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty(
2388
2896
  url: $$url$1
2389
2897
  }, Symbol.toStringTag, { value: 'Module' }));
2390
2898
 
2391
- 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: [] });
2392
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/");
2393
2901
  const $$ = createComponent(async ($$result, $$props, $$slots) => {
2394
2902
  const Astro2 = $$result.createAstro($$Astro, $$props, $$slots);
2395
2903
  Astro2.self = $$;
2904
+ if (String(Astro2.params.slug).endsWith(".css.map")) {
2905
+ return new Response(null, { status: 404 });
2906
+ }
2396
2907
  let pageContext;
2397
2908
  let loadError;
2398
2909
  try {
@@ -2404,7 +2915,7 @@ const $$ = createComponent(async ($$result, $$props, $$slots) => {
2404
2915
  loadError = err;
2405
2916
  }
2406
2917
  return renderTemplate`${pageContext && renderTemplate`${renderComponent($$result, "ViewWildcard", $$$1, { "pageContext": pageContext })}`}
2407
- ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${markHTMLString(loadError.responseHTML)}` })}`}`;
2918
+ ${loadError && renderTemplate`${renderComponent($$result, "Fragment", Fragment, {}, { "default": () => renderTemplate`${unescapeHTML(loadError.responseHTML)}` })}`}`;
2408
2919
  });
2409
2920
 
2410
2921
  const $$file = "/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro";
@@ -2418,7 +2929,7 @@ const _page4 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
2418
2929
  url: $$url
2419
2930
  }, Symbol.toStringTag, { value: 'Module' }));
2420
2931
 
2421
- 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],]);
2422
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 }),];
2423
2934
 
2424
2935
  if (typeof process !== "undefined") {
@@ -2490,7 +3001,7 @@ function deserializeManifest(serializedManifest) {
2490
3001
  };
2491
3002
  }
2492
3003
 
2493
- 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.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/_...65ca64e2.css","assets/_...11681504.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/_...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.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/_...11681504.css","/assets/_...65ca64e2.css","/manifest.webmanifest","/registerSW.js","/client.80baece3.js","/hoisted.46e058d2.js","/page.3aa82516.js","/robots.txt","/sw.js","/workbox-8b24c3ff.js","/admin/config.json","/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","/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"]}), {
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","/admin/config.json","/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","/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"]}), {
2494
3005
  pageMap: pageMap,
2495
3006
  renderers: renderers
2496
3007
  });