cloudcommerce 0.6.6 → 0.6.8

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 (136) hide show
  1. package/.github/renovate.json +1 -1
  2. package/CHANGELOG.md +30 -0
  3. package/ecomplus-stores/monocard/.devcontainer/devcontainer.json +3 -0
  4. package/ecomplus-stores/monocard/.github/workflows/build-and-deploy.yml +4 -9
  5. package/ecomplus-stores/monocard/.vscode/launch.json +11 -0
  6. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  7. package/ecomplus-stores/monocard/functions/events/package.json +2 -2
  8. package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
  9. package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
  10. package/ecomplus-stores/monocard/functions/ssr/content/header.json +16 -28
  11. package/ecomplus-stores/monocard/functions/ssr/content/settings.json +39 -2
  12. package/ecomplus-stores/monocard/functions/ssr/package.json +14 -18
  13. package/ecomplus-stores/monocard/functions/ssr/public/assets/lotties/img_1.webp +0 -0
  14. package/ecomplus-stores/monocard/functions/ssr/public/assets/lotties/phone-nfc.json +1 -1
  15. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-arcelor-mittal.webp +0 -0
  16. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-azul.webp +0 -0
  17. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-banco-pan.webp +0 -0
  18. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-brinks.webp +0 -0
  19. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-mastercard.webp +0 -0
  20. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-pfizer.webp +0 -0
  21. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-prudential.webp +0 -0
  22. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-unimed.webp +0 -0
  23. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo.webp +0 -0
  24. package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +104 -0
  25. package/ecomplus-stores/monocard/functions/ssr/src/components/CasesGrid.astro +49 -0
  26. package/ecomplus-stores/monocard/functions/ssr/src/components/LottiePhoneNFC.vue +1 -1
  27. package/ecomplus-stores/monocard/functions/ssr/src/components/MonocardCustomizer.vue +8 -8
  28. package/ecomplus-stores/monocard/functions/ssr/src/components/MotionFade.vue +17 -0
  29. package/ecomplus-stores/monocard/functions/ssr/src/components/PitchBar.vue +61 -0
  30. package/ecomplus-stores/monocard/functions/ssr/src/components/Prices.vue +112 -0
  31. package/ecomplus-stores/monocard/functions/ssr/src/components/SearchModal.vue +6 -0
  32. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeader.vue +97 -0
  33. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeaderMenu.vue +92 -0
  34. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenav.vue +65 -0
  35. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenavCategory.vue +78 -0
  36. package/ecomplus-stores/monocard/functions/ssr/src/components/header/HeaderButtons.vue +1 -21
  37. package/ecomplus-stores/monocard/functions/ssr/src/components/header/HeaderNav.vue +1 -1
  38. package/ecomplus-stores/monocard/functions/ssr/src/env.d.ts +2 -1
  39. package/ecomplus-stores/monocard/functions/ssr/src/layouts/Base.astro +11 -20
  40. package/ecomplus-stores/monocard/functions/ssr/src/layouts/Pages.astro +15 -2
  41. package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +53 -32
  42. package/ecomplus-stores/monocard/functions/ssr/src/pages/[...slug].astro +2 -2
  43. package/ecomplus-stores/monocard/functions/ssr/src/pages/_vue.ts +8 -1
  44. package/ecomplus-stores/monocard/functions/ssr/src/pages/comprar/index.astro +0 -2
  45. package/ecomplus-stores/monocard/functions/ssr/src/pages/fallback.astro +4 -2
  46. package/ecomplus-stores/monocard/functions/ssr/src/pages/index.astro +1 -1
  47. package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +29 -1
  48. package/ecomplus-stores/monocard/functions/ssr/tsconfig.json +0 -4
  49. package/ecomplus-stores/monocard/functions/ssr/uno.config.cjs +2 -1
  50. package/ecomplus-stores/monocard/package.json +1 -1
  51. package/ecomplus-stores/monocard/scripts/install.sh +1 -0
  52. package/ecomplus-stores/tia-sonia/functions/ssr/package.json +0 -8
  53. package/package.json +9 -9
  54. package/packages/api/package.json +1 -1
  55. package/packages/apps/correios/package.json +2 -2
  56. package/packages/apps/custom-payment/package.json +1 -1
  57. package/packages/apps/custom-shipping/package.json +1 -1
  58. package/packages/apps/datafrete/package.json +2 -2
  59. package/packages/apps/discounts/package.json +1 -1
  60. package/packages/apps/emails/package.json +1 -1
  61. package/packages/apps/fb-conversions/package.json +1 -1
  62. package/packages/apps/frenet/package.json +2 -2
  63. package/packages/apps/galaxpay/assets/onload-expression.min.js +1 -0
  64. package/packages/apps/galaxpay/package.json +2 -2
  65. package/packages/apps/google-analytics/package.json +2 -2
  66. package/packages/apps/infinitepay/package.json +2 -2
  67. package/packages/apps/jadlog/package.json +2 -2
  68. package/packages/apps/loyalty-points/package.json +1 -1
  69. package/packages/apps/melhor-envio/package.json +2 -2
  70. package/packages/apps/mercadopago/assets/onload-expression.min.js +1 -0
  71. package/packages/apps/mercadopago/package.json +2 -2
  72. package/packages/apps/pagarme/assets/onload-expression.min.js +1 -0
  73. package/packages/apps/pagarme/package.json +2 -2
  74. package/packages/apps/paghiper/package.json +2 -2
  75. package/packages/apps/pix/package.json +2 -2
  76. package/packages/apps/tiny-erp/package.json +2 -2
  77. package/packages/apps/webhooks/package.json +2 -2
  78. package/packages/cli/package.json +2 -2
  79. package/packages/config/package.json +1 -1
  80. package/packages/emails/package.json +2 -2
  81. package/packages/events/package.json +1 -1
  82. package/packages/firebase/package.json +1 -1
  83. package/packages/i18n/package.json +1 -1
  84. package/packages/modules/package.json +3 -3
  85. package/packages/passport/package.json +1 -1
  86. package/packages/ssr/package.json +6 -6
  87. package/packages/storefront/dist/client/_astro/PitchBar.db7cd775.js +1 -0
  88. package/packages/storefront/dist/client/_astro/{Prices.c3513660.js → Prices.55399c72.js} +1 -1
  89. package/packages/storefront/dist/client/_astro/{ProductCard.943cd687.js → ProductCard.7e891c08.js} +1 -1
  90. package/packages/storefront/dist/client/_astro/ShopHeader.301e109b.js +4 -0
  91. package/packages/storefront/dist/client/_astro/_...slug_.0607a6ef.css +1 -0
  92. package/packages/storefront/dist/client/_astro/{_plugin-vue_export-helper.a7457a61.js → _plugin-vue_export-helper.77ed7c18.js} +1 -1
  93. package/packages/storefront/dist/client/_astro/client.0de2f274.js +1 -0
  94. package/packages/storefront/dist/client/_astro/{format-money.6379f63c.js → format-money.ab6b71eb.js} +1 -1
  95. package/packages/storefront/dist/client/_astro/index.16f33784.js +1 -0
  96. package/packages/storefront/dist/client/_astro/{modules-info.fbf28964.js → modules-info.06ac0727.js} +1 -1
  97. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.d2f39f33.js +1 -0
  98. package/packages/storefront/dist/client/sw.js +1 -1
  99. package/packages/storefront/dist/client/workbox-e0d788d4.js +1 -0
  100. package/packages/storefront/dist/server/chunks/{astro.a9f695c0.mjs → astro.2e59789d.mjs} +7 -18
  101. package/packages/storefront/dist/server/chunks/pages/{all.226fa45f.mjs → all.726ca7f4.mjs} +790 -88
  102. package/packages/storefront/dist/server/entry.mjs +10 -16
  103. package/packages/storefront/package.json +10 -10
  104. package/packages/storefront/server.d.ts +5 -0
  105. package/packages/storefront/src/lib/assets/base.css +5 -0
  106. package/packages/storefront/src/lib/components/AccountLink.vue +38 -0
  107. package/packages/storefront/src/lib/layouts/PagesHeader.astro +1 -0
  108. package/packages/storefront/src/lib/pages/_vue.ts +6 -2
  109. package/packages/storefront/src/lib/ssr/Picture.astro +13 -4
  110. package/packages/storefront/src/lib/ssr-context.ts +3 -6
  111. package/packages/storefront/src/vue-globals.d.ts +2 -0
  112. package/packages/storefront/tailwind.config.cjs +1 -0
  113. package/packages/types/index.ts +6 -0
  114. package/packages/types/package.json +1 -1
  115. package/pnpm-workspace.yaml +3 -3
  116. package/ecomplus-stores/monocard/functions/ssr/content/contacts.json +0 -13
  117. package/ecomplus-stores/monocard/functions/ssr/content/info.json +0 -18
  118. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo.png +0 -0
  119. package/ecomplus-stores/monocard/functions/ssr/src/components/HowItWorksAccordion.vue +0 -32
  120. package/ecomplus-stores/monocard/functions/ssr/src/components/TheHeader.vue +0 -42
  121. package/ecomplus-stores/monocard/functions/ssr/src/components/TopBar.vue +0 -10
  122. package/ecomplus-stores/monocard/functions/ssr/src/layouts/PagesHeader.astro +0 -51
  123. package/packages/storefront/dist/client/_astro/PitchBar.fae93937.js +0 -1
  124. package/packages/storefront/dist/client/_astro/ShopHeader.5b3abae3.js +0 -4
  125. package/packages/storefront/dist/client/_astro/_...slug_.86768317.css +0 -1
  126. package/packages/storefront/dist/client/_astro/client.e1250adc.js +0 -1
  127. package/packages/storefront/dist/client/_astro/index.769c6acb.js +0 -1
  128. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.4e28b902.js +0 -1
  129. package/packages/storefront/dist/client/assets/icons/bootstrap-icons/font/storefront-icons.woff2 +0 -0
  130. package/packages/storefront/dist/client/assets/icons/feather-icons/font/storefront-icons.woff2 +0 -0
  131. package/packages/storefront/dist/client/assets/icons/font-awesome/font/storefront-icons.woff2 +0 -0
  132. package/packages/storefront/dist/client/assets/icons/line-awesome/font/storefront-icons.woff2 +0 -0
  133. package/packages/storefront/dist/client/assets/icons/tabler-icons/font/storefront-icons.woff2 +0 -0
  134. package/packages/storefront/dist/client/workbox-e2ee76b5.js +0 -1
  135. /package/ecomplus-stores/monocard/functions/ssr/content/{social.json → metatags.json} +0 -0
  136. /package/ecomplus-stores/monocard/functions/ssr/src/{pages/monocard.astro → layouts/Checkout.astro} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { performance } from 'node:perf_hooks';
2
2
  import { ReadableStream, ByteLengthQueuingStrategy, CountQueuingStrategy, ReadableByteStreamController, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableStreamDefaultController, ReadableStreamDefaultReader, TransformStream, WritableStream, WritableStreamDefaultController, WritableStreamDefaultWriter } from 'node:stream/web';
3
- import * as undici from 'undici';
3
+ import { File as File$1, Headers, Request, Response, fetch } from 'undici';
4
4
  import { setTimeout as setTimeout$1, clearTimeout as clearTimeout$1 } from 'node:timers';
5
- import { N as NodeApp, g as server_default, h as deserializeManifest } from './chunks/astro.a9f695c0.mjs';
5
+ import { N as NodeApp, g as server_default, h as deserializeManifest } from './chunks/astro.2e59789d.mjs';
6
6
  import { Readable } from 'stream';
7
7
  import https from 'https';
8
8
  import path from 'path';
@@ -14,7 +14,7 @@ import enableDestroy from 'server-destroy';
14
14
  import { defineComponent, computed, useSSRContext, mergeProps, h as h$2, createSSRApp } from 'vue';
15
15
  import { ssrRenderSlotInner, ssrRenderAttrs, ssrRenderSlot, renderToString } from 'vue/server-renderer';
16
16
  import { img, imgSizes, i18n, formatMoney } from '@ecomplus/utils';
17
- /* empty css */import { _ as _export_sfc, a as _page0, b as _page1, c as _page2, d as _page3, e as _page4, f as _page5 } from './chunks/pages/all.226fa45f.mjs';
17
+ /* empty css */import { _ as _export_sfc, a as _page0, b as _page1, c as _page2, d as _page3, e as _page4, f as _page5 } from './chunks/pages/all.726ca7f4.mjs';
18
18
  import 'path-to-regexp';
19
19
  import 'tls';
20
20
  import 'mime';
@@ -188,7 +188,6 @@ const CanceledInPassiveListener = new Warning("W05", "Unable to preventDefault i
188
188
  const EventListenerWasDuplicated = new Warning("W06", "An event listener wasn't added because it has been added already: %o, %o");
189
189
  const OptionWasIgnored = new Warning("W07", "The %o option value was abandoned because the event listener wasn't added as duplicated.");
190
190
  const InvalidEventListener = new Warning("W08", "The 'callback' argument must be a function or an object that has 'handleEvent' method: %o");
191
- new Warning("W09", "Event attribute handler must be a function: %o");
192
191
 
193
192
  /*eslint-disable class-methods-use-this */
194
193
  /**
@@ -1348,13 +1347,13 @@ const _File = class File extends Blob$1 {
1348
1347
  };
1349
1348
 
1350
1349
  /** @type {typeof globalThis.File} */// @ts-ignore
1351
- const File$1 = _File;
1350
+ const File = _File;
1352
1351
 
1353
1352
  /*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */
1354
1353
 
1355
1354
  var {toStringTag:t$1,iterator:i$1,hasInstance:h$1}=Symbol,
1356
1355
  m$1='append,set,get,getAll,delete,keys,values,entries,forEach,constructor'.split(','),
1357
- f$1=(a,b,c)=>(a+='',/^(Blob|File)$/.test(b && b[t$1])?[(c=c!==void 0?c+'':b[t$1]=='File'?b.name:'blob',a),b.name!==c||b[t$1]=='blob'?new File$1([b],c,b):b]:[a,b+'']),
1356
+ f$1=(a,b,c)=>(a+='',/^(Blob|File)$/.test(b && b[t$1])?[(c=c!==void 0?c+'':b[t$1]=='File'?b.name:'blob',a),b.name!==c||b[t$1]=='blob'?new File([b],c,b):b]:[a,b+'']),
1358
1357
  x$1=(n, a, e)=>{if(a.length<e){throw new TypeError(`Failed to execute '${n}' on 'FormData': ${e} arguments required, but only ${a.length} present.`)}};
1359
1358
 
1360
1359
  /** @type {typeof globalThis.FormData} */
@@ -2554,13 +2553,6 @@ function alert(...messages) {
2554
2553
  console.log(...messages);
2555
2554
  }
2556
2555
 
2557
- // @ts-check
2558
- const fetch = undici.fetch;
2559
- const Headers = undici.Headers;
2560
- const Response = undici.Response;
2561
- const Request = undici.Request;
2562
- const File = undici.File;
2563
-
2564
2556
  const exclusionsForHTMLElement = [
2565
2557
  'CustomElementsRegistry',
2566
2558
  'HTMLElement',
@@ -2661,7 +2653,7 @@ const polyfill = (target, options) => {
2661
2653
  Element,
2662
2654
  Event,
2663
2655
  EventTarget,
2664
- File,
2656
+ File: File$1,
2665
2657
  FormData,
2666
2658
  HTMLDocument,
2667
2659
  HTMLElement,
@@ -3368,6 +3360,8 @@ const createApp = (app) => {
3368
3360
  };
3369
3361
  app2.config.globalProperties.$money = formatMoney;
3370
3362
  app2.config.globalProperties.$percentage = formatPercentage;
3363
+ app2.config.globalProperties.$settings = globalThis.storefront.settings;
3364
+ app2.config.globalProperties.$context = globalThis.storefront.context;
3371
3365
  }
3372
3366
  });
3373
3367
  app.component("Fade", Fade);
@@ -3412,10 +3406,10 @@ const _renderer1 = {
3412
3406
  renderToStaticMarkup,
3413
3407
  };
3414
3408
 
3415
- const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.15.0_astro@2.0.14+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js", _page0],["src/pages/index.astro", _page1],["src/pages/fallback.astro", _page2],["src/pages/app/index.astro", _page3],["src/pages/app/account.astro", _page4],["src/pages/[...slug].astro", _page5],]);
3409
+ const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.15.1_astro@2.0.16+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js", _page0],["src/pages/index.astro", _page1],["src/pages/fallback.astro", _page2],["src/pages/app/index.astro", _page3],["src/pages/app/account.astro", _page4],["src/pages/[...slug].astro", _page5],]);
3416
3410
  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 }),];
3417
3411
 
3418
- const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.15.0_astro@2.0.14+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.86768317.css","_astro/index.0c833781.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.86768317.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"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":[],"scripts":[],"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":[],"scripts":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.86768317.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"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://ecom2-002.web.app","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true,"contentDir":"file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/content/"},"pageMap":null,"propagation":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseHead.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseStateJson.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/BaseBody.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/scripts/InlineScripts.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Base.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Image.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/@astrojs/image/components/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/ssr/Picture.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/layouts/PagesHeader.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/layouts/Pages.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Home.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/index.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/app/account.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/main/Wildcard.astro","in-tree"],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro","in-tree"]],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","~/components/Prices.vue":"_astro/Prices.c3513660.js","@@sf/components/ProductCard.vue":"_astro/ProductCard.943cd687.js","/astro/hoisted.js?q=0":"_astro/hoisted.721ad75d.js","@astrojs/vue/client.js":"_astro/client.e1250adc.js","~/components/PitchBar.vue":"_astro/PitchBar.fae93937.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.295a6886.js","~/components/ShopHeader.vue":"_astro/ShopHeader.5b3abae3.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.7ce2ebb1.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.0c833781.css","/_astro/server.1bc2fa51.css","/_astro/_...slug_.86768317.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e2ee76b5.js","/_astro/PitchBar.fae93937.js","/_astro/Prices.c3513660.js","/_astro/ProductCard.943cd687.js","/_astro/ShopHeader.5b3abae3.js","/_astro/_plugin-vue_export-helper.a7457a61.js","/_astro/client.e1250adc.js","/_astro/firebase-app.7ce2ebb1.js","/_astro/format-money.6379f63c.js","/_astro/hoisted.721ad75d.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.769c6acb.js","/_astro/modules-info.fbf28964.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.4e28b902.js","/_astro/session-utm.72684b84.js","/_astro/workbox-window.prod.es5.295a6886.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","/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"]}), {
3412
+ const _manifest = Object.assign(deserializeManifest({"adapterName":"@astrojs/node","routes":[{"file":"","links":[],"scripts":[],"routeData":{"type":"endpoint","route":"/_image","pattern":"^\\/_image$","segments":[[{"content":"_image","dynamic":false,"spread":false}]],"params":[],"component":"../../node_modules/.pnpm/@astrojs+image@0.15.1_astro@2.0.16+sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.0607a6ef.css","_astro/index.0c833781.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.0607a6ef.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/fallback","type":"page","pattern":"^\\/fallback\\/?$","segments":[[{"content":"fallback","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/fallback.astro","pathname":"/fallback","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app","type":"page","pattern":"^\\/app\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/index.astro","pathname":"/app","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":[],"scripts":[],"routeData":{"route":"/app/account","type":"page","pattern":"^\\/app\\/account\\/?$","segments":[[{"content":"app","dynamic":false,"spread":false}],[{"content":"account","dynamic":false,"spread":false}]],"params":[],"component":"src/pages/app/account.astro","pathname":"/app/account","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["_astro/_...slug_.0607a6ef.css"],"scripts":[{"type":"external","value":"_astro/hoisted.721ad75d.js"}],"routeData":{"route":"/[...slug]","type":"page","pattern":"^(?:\\/(.*?))?\\/?$","segments":[[{"content":"...slug","dynamic":true,"spread":true}]],"params":["...slug"],"component":"src/pages/[...slug].astro","prerender":false,"_meta":{"trailingSlash":"ignore"}}}],"site":"https://ecom2-002.web.app","base":"/","markdown":{"drafts":false,"syntaxHighlight":"shiki","shikiConfig":{"langs":[],"theme":"github-dark","wrap":false},"remarkPlugins":[],"rehypePlugins":[],"remarkRehype":{},"gfm":true,"smartypants":true,"contentDir":"file:///home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/content/"},"pageMap":null,"propagation":[],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","@@sf/components/ProductCard.vue":"_astro/ProductCard.7e891c08.js","~/components/Prices.vue":"_astro/Prices.55399c72.js","~/components/PitchBar.vue":"_astro/PitchBar.db7cd775.js","@astrojs/vue/client.js":"_astro/client.0de2f274.js","/astro/hoisted.js?q=0":"_astro/hoisted.721ad75d.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.295a6886.js","~/components/ShopHeader.vue":"_astro/ShopHeader.301e109b.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.7ce2ebb1.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.0c833781.css","/_astro/server.1bc2fa51.css","/_astro/_...slug_.0607a6ef.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e0d788d4.js","/_astro/PitchBar.db7cd775.js","/_astro/Prices.55399c72.js","/_astro/ProductCard.7e891c08.js","/_astro/ShopHeader.301e109b.js","/_astro/_plugin-vue_export-helper.77ed7c18.js","/_astro/client.0de2f274.js","/_astro/firebase-app.7ce2ebb1.js","/_astro/format-money.ab6b71eb.js","/_astro/hoisted.721ad75d.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.16f33784.js","/_astro/modules-info.06ac0727.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.d2f39f33.js","/_astro/session-utm.72684b84.js","/_astro/workbox-window.prod.es5.295a6886.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","/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"]}), {
3419
3413
  pageMap: pageMap,
3420
3414
  renderers: renderers
3421
3415
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.8",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "main": "src/index.js",
7
7
  "repository": {
@@ -25,8 +25,8 @@
25
25
  "prepare-monorepo": "sh scripts/prepare-monorepo.sh"
26
26
  },
27
27
  "dependencies": {
28
- "@astrojs/image": "^0.15.0",
29
- "@astrojs/node": "^5.0.3",
28
+ "@astrojs/image": "^0.15.1",
29
+ "@astrojs/node": "^5.0.4",
30
30
  "@astrojs/partytown": "^1.0.3",
31
31
  "@astrojs/prefetch": "^0.1.2",
32
32
  "@astrojs/vue": "^2.0.1",
@@ -35,13 +35,13 @@
35
35
  "@cloudcommerce/i18n": "workspace:*",
36
36
  "@ecomplus/utils": "1.5.0-rc.3",
37
37
  "@fastify/deepmerge": "^1.3.0",
38
- "@headlessui/vue": "^1.7.10",
38
+ "@headlessui/vue": "^1.7.11",
39
39
  "@iconify-json/fa6-brands": "^1.1.10",
40
40
  "@iconify-json/heroicons": "^1.1.10",
41
41
  "@iconify-json/logos": "^1.1.23",
42
- "@vite-pwa/astro": "^0.0.3",
43
- "@vueuse/core": "9.12.0 || ^9.13.1",
44
- "astro": "^2.0.14",
42
+ "@vite-pwa/astro": "^0.0.4",
43
+ "@vueuse/core": "9.12.0",
44
+ "astro": "^2.0.16",
45
45
  "chroma-js": "^2.4.2",
46
46
  "dotenv": "^16.0.3",
47
47
  "firebase": "^9.17.1",
@@ -49,13 +49,13 @@
49
49
  "semver": "^7.3.8",
50
50
  "sharp": "^0.31.3",
51
51
  "tailwindcss": "^3.2.7",
52
- "unocss": "^0.50.0",
53
- "vite": "^4.1.3",
52
+ "unocss": "^0.50.1",
53
+ "vite": "^4.1.4",
54
54
  "vite-plugin-pwa": "^0.14.4",
55
55
  "vue": "^3.2.47"
56
56
  },
57
57
  "devDependencies": {
58
- "@babel/core": "^7.20.12",
58
+ "@babel/core": "^7.21.0",
59
59
  "@cloudcommerce/types": "workspace:*"
60
60
  }
61
61
  }
@@ -1,3 +1,4 @@
1
+ import type { ApiEndpoint } from '@cloudcommerce/api';
1
2
  import type {
2
3
  ProductSet,
3
4
  CategorySet,
@@ -29,6 +30,10 @@ declare global {
29
30
  },
30
31
  onLoad: (callback: (...args: any[]) => void) => void,
31
32
  };
33
+ // eslint-disable-next-line
34
+ var api_prefetch_endpoints: undefined | ApiEndpoint[];
35
+ // eslint-disable-next-line
36
+ var storefront_slim_doc_regex: undefined | RegExp;
32
37
  }
33
38
 
34
39
  export { };
@@ -101,6 +101,11 @@ d-md {
101
101
  }
102
102
  }
103
103
 
104
+ /* Preset width auto for responsive images (for Astro <Picture/>) */
105
+ :where(img[sizes], source[sizes] + img) {
106
+ width: auto;
107
+ }
108
+
104
109
  /* Fix Safari issue related to <summary> / <details> arrow */
105
110
  details > summary.list-none::-webkit-details-marker,
106
111
  details > summary.list-none::marker {
@@ -0,0 +1,38 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue';
3
+
4
+ export interface Props {
5
+ to?: 'orders' | 'favorites';
6
+ accountUrl?: string;
7
+ returnUrl?: string;
8
+ isSignUp?: boolean;
9
+ }
10
+
11
+ const props = withDefaults(defineProps<Props>(), {
12
+ accountUrl: globalThis.storefront.settings.account_url || '/app/account',
13
+ returnUrl: globalThis.location?.href,
14
+ });
15
+ const href = computed(() => {
16
+ let url = props.accountUrl;
17
+ if (!props.to) {
18
+ if (props.isSignUp) {
19
+ url += '?sign_up&';
20
+ } else {
21
+ url += '?';
22
+ }
23
+ return `${url}return_url=${props.returnUrl}`;
24
+ }
25
+ const { settings } = globalThis.storefront;
26
+ if (props.to === 'orders' && settings.orders_url) {
27
+ return settings.orders_url;
28
+ }
29
+ if (props.to === 'favorites' && settings.favorites_url) {
30
+ return settings.favorites_url;
31
+ }
32
+ return `${url}/${props.to}`;
33
+ });
34
+ </script>
35
+
36
+ <template>
37
+ <a :href="href"><slot /></a>
38
+ </template>
@@ -25,6 +25,7 @@ const shopHeader: ShopHeaderProps = {
25
25
  menuCategorySlugs: cmsHeader.inline_menu_categories?.featured,
26
26
  menuRandomCategories: cmsHeader.inline_menu_categories?.random,
27
27
  isAlphabeticalSortSubmenu: cmsHeader.alphabetical_sort_submenu,
28
+ serviceLinks: cmsHeader.service_links,
28
29
  };
29
30
  const LogoHeading = Astro.props.logoHeading || (isHomepage ? 'h1' : 'h2');
30
31
  ---
@@ -8,10 +8,10 @@ const formatPercentage = (value: number, digits = 1) => {
8
8
  return Number.isInteger(value) ? `${value}%` : `${value.toFixed(digits)}%`;
9
9
  };
10
10
 
11
- export default (app: App) => {
11
+ const createApp = (app: App) => {
12
12
  app.use({
13
13
  // eslint-disable-next-line no-shadow
14
- install: (app, options) => {
14
+ install: (app: App, options: Record<string, any>) => {
15
15
  // @ts-ignore
16
16
  app.config.globalProperties.$t = (dict, lang) => {
17
17
  // @ts-ignore
@@ -19,6 +19,8 @@ export default (app: App) => {
19
19
  };
20
20
  app.config.globalProperties.$money = formatMoney;
21
21
  app.config.globalProperties.$percentage = formatPercentage;
22
+ app.config.globalProperties.$settings = globalThis.storefront.settings;
23
+ app.config.globalProperties.$context = globalThis.storefront.context;
22
24
  },
23
25
  });
24
26
  app.component('Fade', Fade);
@@ -26,4 +28,6 @@ export default (app: App) => {
26
28
  app.component('AImg', AImg);
27
29
  };
28
30
 
31
+ export default createApp;
32
+
29
33
  export type FormatPercentage = typeof formatPercentage;
@@ -1,17 +1,26 @@
1
1
  ---
2
2
  import { Picture } from '@astrojs/image/components';
3
- import { getAspectRatio } from '@@sf/ssr/image';
3
+ import { tryImageSize, getAspectRatio } from '@@sf/ssr/image';
4
4
 
5
5
  type PictureProps = Parameters<typeof Picture>[0];
6
6
 
7
7
  export type Props = Omit<PictureProps, 'aspectRatio'> & {
8
8
  aspectRatio?: PictureProps['aspectRatio'],
9
- fetchpriority: 'high' | 'low' | 'auto',
9
+ fetchpriority?: 'high' | 'low' | 'auto',
10
10
  };
11
11
 
12
12
  const props = Astro.props as PictureProps;
13
- if (!props.aspectRatio && typeof props.src === 'string') {
14
- props.aspectRatio = getAspectRatio(props.src);
13
+ if (
14
+ (!props.width || !props.height)
15
+ && !props.aspectRatio
16
+ && typeof props.src === 'string'
17
+ ) {
18
+ const { width, height } = tryImageSize(props.src);
19
+ if (height) {
20
+ props.aspectRatio = getAspectRatio({ width, height });
21
+ props.width = width;
22
+ props.height = height;
23
+ }
15
24
  }
16
25
  ---
17
26
 
@@ -1,9 +1,10 @@
1
1
  import type { AstroGlobal } from 'astro';
2
2
  import type { BaseConfig } from '@cloudcommerce/config';
3
+ import type { ApiError, ApiEndpoint } from '@cloudcommerce/api';
3
4
  import type { CategoriesList, BrandsList } from '@cloudcommerce/api/types';
4
5
  import type { CMS, CmsSettings } from './cms';
5
6
  import { EventEmitter } from 'node:events';
6
- import api, { ApiError, ApiEndpoint } from '@cloudcommerce/api';
7
+ import api from '@cloudcommerce/api';
7
8
  import _getConfig from '../../storefront.config.mjs';
8
9
 
9
10
  type StorefrontConfig = {
@@ -24,10 +25,6 @@ type StorefrontConfig = {
24
25
  const emitter = new EventEmitter();
25
26
  const getConfig: () => StorefrontConfig = _getConfig;
26
27
 
27
- declare global {
28
- // eslint-disable-next-line
29
- var api_prefetch_endpoints: ApiEndpoint[];
30
- }
31
28
  if (!globalThis.api_prefetch_endpoints) {
32
29
  globalThis.api_prefetch_endpoints = [
33
30
  'categories?fields=_id,name,slug,parent,icon,pictures.0',
@@ -53,7 +50,7 @@ const setResponseCache = (Astro: AstroGlobal, maxAge: number, sMaxAge?: number)
53
50
  Astro.response.headers.set(headerName, cacheControl);
54
51
  };
55
52
 
56
- const loadPageContext = async (Astro: AstroGlobal, {
53
+ const loadPageContext = async (Astro: Readonly<AstroGlobal>, {
57
54
  cmsCollection,
58
55
  apiPrefetchEndpoints = globalThis.api_prefetch_endpoints,
59
56
  }: {
@@ -18,6 +18,8 @@ declare module '@vue/runtime-core' {
18
18
  };
19
19
  $money: typeof import('@ecomplus/utils')['formatMoney'];
20
20
  $percentage: FormatPercentage;
21
+ $settings: typeof globalThis.storefront.settings;
22
+ $context: typeof globalThis.storefront.context;
21
23
  }
22
24
 
23
25
  export interface GlobalComponents {
@@ -45,6 +45,7 @@ let defaultThemeOptions = {
45
45
  account: 'user-circle',
46
46
  close: 'x-mark',
47
47
  logout: 'arrow-right-on-rectangle',
48
+ favorites: 'heart',
48
49
  },
49
50
  };
50
51
  if (globalThis.storefront_theme_options) {
@@ -121,6 +121,12 @@ type CmsSettings = {
121
121
  available_extra_discount?: Partial<ApplyDiscountResponse['available_extra_discount']>,
122
122
  },
123
123
  },
124
+ cart_url?: string,
125
+ checkout_url?: string,
126
+ account_url?: string,
127
+ orders_url?: string,
128
+ favorites_url?: string,
129
+ metafields?: Record<string, string>,
124
130
  };
125
131
 
126
132
  export type {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.6.6",
4
+ "version": "0.6.8",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -5,6 +5,6 @@ packages:
5
5
  - 'store'
6
6
  - 'store/*'
7
7
  - 'store/functions/*'
8
- #- 'ecomplus-stores/*'
9
- #- 'ecomplus-stores/*/*'
10
- #- 'ecomplus-stores/*/functions/*'
8
+ - 'ecomplus-stores/monocard'
9
+ - 'ecomplus-stores/monocard/*'
10
+ - 'ecomplus-stores/monocard/functions/*'
@@ -1,13 +0,0 @@
1
- {
2
- "email": "atendimento@monocard.com.br",
3
- "phone": "",
4
- "whatsapp": "",
5
- "address": "Endereço",
6
- "doc_number": "123",
7
- "facebook": "https://www.facebook.com/ecom.clubpage/",
8
- "twitter": "",
9
- "youtube": "https://www.youtube.com/channel/UCBlIxK5JAub0E1EX_qHdzmA",
10
- "tiktok": "",
11
- "instagram": "https://www.instagram.com/ecomclub/",
12
- "pinterest": ""
13
- }
@@ -1,18 +0,0 @@
1
- {
2
- "shipping": {
3
- "show": true,
4
- "text": "Entregamos para todo o Brasil"
5
- },
6
- "installments": {
7
- "show": true,
8
- "text": "Parcele sem juros"
9
- },
10
- "exchange": {
11
- "show": true,
12
- "text": "Não gostou? A primeira troca é gratuita"
13
- },
14
- "promo": {
15
- "show": true,
16
- "text": "Diferentes promoções ao longo do ano!"
17
- }
18
- }
@@ -1,32 +0,0 @@
1
- <script lang="ts" setup>
2
- export interface Props {
3
- isStartOpen?: boolean;
4
- }
5
-
6
- defineProps<Props>();
7
- </script>
8
-
9
- <template>
10
- <details :open="isStartOpen">
11
- <summary class="text-xl">
12
- <i class="text-lg i-paint-brush-solid mr-1"></i>
13
- Configure seu perfil
14
- </summary>
15
- <p>
16
- Adicione sua foto ou a logo de sua empresa em seu perfil.
17
- Disponibilize todos os contatos que desejar e links para que tenham
18
- acesso ao seu cartão de visitas inteligente.
19
- </p>
20
- </details>
21
- <details :open="isStartOpen">
22
- <summary class="text-xl">
23
- <i class="text-lg i-share-solid mr-1"></i>
24
- Compartilhe onde quiser
25
- </summary>
26
- <p>
27
- Sempre que precisar, use seu Monocard para compartilhar seu
28
- cartão de visitas digital de forma fácil e segura,
29
- sem perder tempo em seu dia a dia.
30
- </p>
31
- </details>
32
- </template>
@@ -1,42 +0,0 @@
1
- <script lang="ts" setup>
2
- import { toRefs, ImgHTMLAttributes } from 'vue';
3
-
4
- export interface Props {
5
- logo?: ImgHTMLAttributes;
6
- logoAltHeading?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | null;
7
- }
8
-
9
- const props = withDefaults(defineProps<Props>(), {
10
- logoAltHeading: 'h2',
11
- });
12
- const { logo } = toRefs(props);
13
- </script>
14
-
15
- <template>
16
- <header class="header bg-black bg-opacity-90 backdrop-blur-md
17
- sticky top-0 z-50 py-1 sm:py-2">
18
- <div class="container">
19
- <div class="grid grid-flow-col auto-cols-max justify-between items-center">
20
- <slot name="aside">
21
- <div class="header__aside md:hidden">
22
- <div class="i-bars-3-bottom-left"></div>
23
- </div>
24
- </slot>
25
- <slot name="logo" v-bind="{ logo }">
26
- <a href="/">
27
- <component :is="(logo.alt && logoAltHeading) || 'span'" class="m-0">
28
- <img v-bind="logo" />
29
- </component>
30
- </a>
31
- </slot>
32
- <div class="flex items-center">
33
- <slot name="actions">
34
- <slot name="nav" />
35
- <slot name="search" />
36
- <slot name="buttons" />
37
- </slot>
38
- </div>
39
- </div>
40
- </div>
41
- </header>
42
- </template>
@@ -1,10 +0,0 @@
1
- <template>
2
- <div class="w-full bg-primary">
3
- <div class="container">
4
- <div class="py-1 uppercase text-secondary flex flex-nowrap justify-between lg:justify-around">
5
- <div><b>Frete grátis</b> para todo o Brasil</div>
6
- <div>Até <b>12x sem juros</b></div>
7
- </div>
8
- </div>
9
- </div>
10
- </template>
@@ -1,51 +0,0 @@
1
- ---
2
- import type { PageContext } from '@@sf/ssr-context';
3
- import { getImage } from '@@sf/ssr/image';
4
- import TopBar from '@@components/TopBar.vue';
5
- import TheHeader from '@@components/TheHeader.vue';
6
- import HeaderNav from '@@components/header/HeaderNav.vue';
7
- import HeaderButtons from '@@components/header/HeaderButtons.vue';
8
-
9
- export interface Props {
10
- pageContext: PageContext;
11
- }
12
-
13
- const {
14
- pageContext: {
15
- apiState,
16
- settings,
17
- },
18
- } = Astro.props as Props;
19
- const loginDrawerAdditionalLinks = [{
20
- href: 'https://mono.direct/login',
21
- innerHTML: '<i class="i-pencil-square mr-1"></i> Gerenciar conta Monocard',
22
- }];
23
-
24
- const logo = {
25
- ...await getImage({
26
- src: settings.logo,
27
- width: 150,
28
- format: 'webp',
29
- quality: 80,
30
- }) as any,
31
- alt: settings.name,
32
- };
33
- const logoAltHeading = Astro.url.pathname === '/' ? 'h1' : 'h2';
34
- const { categories } = apiState;
35
- ---
36
-
37
- <Fragment>
38
- <slot name="top-bar">
39
- <TopBar />
40
- </slot>
41
- <slot name="header">
42
- <TheHeader { logo } logoAltHeading={logoAltHeading}>
43
- <Fragment slot="nav">
44
- <HeaderNav categories={categories} />
45
- </Fragment>
46
- <Fragment slot="buttons">
47
- <HeaderButtons client:idle { loginDrawerAdditionalLinks } />
48
- </Fragment>
49
- </TheHeader>
50
- </slot>
51
- </Fragment>
@@ -1 +0,0 @@
1
- import{v as G}from"./runtime-dom.esm-bundler.4e28b902.js";import{p as J}from"./modules-info.fbf28964.js";import{c as g,d as R,_ as j,m as Q,o as u,a as p,p as x,e as I,n as z,j as d,q as C,s as D,u as X,v as Y,x as Z,y as ee,k as $,w as v,l as q,g as b,z as te,A as ae,B as oe,F as re,C as se,b as ne}from"./_plugin-vue_export-helper.a7457a61.js";import{u as le,a as ie,b as ue}from"./index.769c6acb.js";/* empty css */import"./session-utm.72684b84.js";import"./idle-callback.889bf0ea.js";import"./format-money.6379f63c.js";const ce=r=>{const s=g(()=>r.slides.map(({html:e})=>J(e).value)),a=g(()=>s.value.filter(e=>e).length);return{parsedContents:s,countValidSlides:a}},K=Symbol("carousel"),de=R({__name:"CarouselControl",props:{direction:{default:1}},setup(r,{expose:s}){s();const{changeSlide:a}=Q(K),e={changeSlide:a};return Object.defineProperty(e,"__isScriptSetup",{enumerable:!1,value:!0}),e}}),fe=["aria-label","data-carousel-control"];function pe(r,s,a,e,n,o){return u(),p("button",{type:"button","aria-label":a.direction>0?"Próximo":"Anterior",onClick:s[0]||(s[0]=i=>e.changeSlide(a.direction)),class:z(["group absolute top-0",a.direction>0?"right-0":"left-0"]),"data-carousel-control":a.direction>0?"next":"previous"},[x(r.$slots,"default",{},()=>[I("i",{class:z(["m-0",a.direction>0?"i-chevron-right group-active:translate-x-1":"i-chevron-left group-active:-translate-x-1"])},null,2)])],10,fe)}const U=j(de,[["render",pe]]),ve=R({__name:"Carousel",props:{as:{default:"ul"},modelValue:{default:1},autoplay:null},emits:["update:modelValue"],setup(r,{expose:s,emit:a}){s();const e=r,n=d(e.modelValue-1);C(D(e,"modelValue"),t=>{n.value=t-1}),C(n,(t,l)=>{t!==l&&a("update:modelValue",t+1)});const o=d(null),{x:i,isScrolling:f,arrivedState:S}=le(o),y=g(()=>S.left),w=g(()=>S.right),h=d([]),B=d(0),L=d(0),P=d(0),A=()=>{B.value=o.value.scrollWidth,L.value=o.value.offsetWidth},E=()=>{const t=[...o.value.children];h.value=t.map(l=>({offsetLeft:l.offsetLeft,width:l.offsetWidth}))},N=t=>{const l=t>0?n.value:n.value+t,O=h.value[l]?.width||0;return O?O*t:0},V=()=>{const t=h.value.findIndex(l=>Math.abs(l.offsetLeft-i.value)<=5);t>-1&&(n.value=t||0)},k=()=>{const t=B.value-L.value;P.value=h.value.findIndex(({offsetLeft:l})=>l>=t-5)};let c=null;const m=()=>{e.autoplay&&(clearTimeout(c),c=setTimeout(()=>{_(1)},e.autoplay))},_=t=>{if(t<0){if(y.value){k(),n.value=P.value-1,_(1);return}}else if(w.value){n.value=1,_(-1);return}const l=N(t);l&&(o.value.scrollBy({left:l,behavior:"smooth"}),m())};C(f,t=>{t?clearTimeout(c):(V(),m())});const F=d(null),H=ie(F);C(H,t=>{t?clearTimeout(c):m()});const T=()=>{o.value&&(A(),E(),V(),k())},W=ue(()=>{o.value.scrollLeft=0,T()},400);X(()=>{T(),Y(()=>{[...o.value.children].forEach(t=>{t.setAttribute("tabindex","0")})}),m(),window.addEventListener("resize",W)}),Z(()=>{window.removeEventListener("resize",W),clearTimeout(c)}),ee(K,{autoplay:D(e,"autoplay"),changeSlide:_,isBoundLeft:y,isBoundRight:w});const M={props:e,emit:a,currentIndex:n,wrapper:o,currentPos:i,isScrolling:f,arrivedState:S,isBoundLeft:y,isBoundRight:w,slidesWidth:h,wrapperScrollWidth:B,wrapperVisibleWidth:L,indexCount:P,calcWrapperWidth:A,calcSlidesWidth:E,calcNextWidth:N,calcCurrentIndex:V,calcIndexCount:k,get autoplayTimer(){return c},set autoplayTimer(t){c=t},restartAutoplay:m,changeSlide:_,carousel:F,isHovered:H,calcOnInit:T,onResize:W,CarouselControl:U};return Object.defineProperty(M,"__isScriptSetup",{enumerable:!1,value:!0}),M}}),he={ref:"carousel",class:"relative","data-carousel":""};function me(r,s,a,e,n,o){return u(),p("div",he,[(u(),$(q(a.as),{ref:"wrapper",class:"flex overflow-x-scroll overflow-y-hidden list-none m-0 p-0","data-carousel-wrapper":""},{default:v(()=>[x(r.$slots,"default")]),_:3},512)),x(r.$slots,"controls",te(ae({changeSlide:e.changeSlide,isBoundLeft:e.isBoundLeft,isBoundRight:e.isBoundRight,currentPage:e.currentIndex+1,pageCount:e.indexCount+1})),()=>[b(e.CarouselControl,{direction:-1},{default:v(()=>[x(r.$slots,"previous")]),_:3}),b(e.CarouselControl,null,{default:v(()=>[x(r.$slots,"next")]),_:3})])],512)}const _e=j(ve,[["render",me]]),xe=R({__name:"PitchBar",props:{slides:null},setup(r,{expose:s}){s();const a=r,{parsedContents:e,countValidSlides:n}=ce(a),o={props:a,parsedContents:e,countValidSlides:n,Carousel:_e,CarouselControl:U};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}}),be={class:"bg-base-100 relative z-1"},Ce={class:"container md:w-2/3 mx-auto px-3 py-1"},ge=["innerHTML"],Se={class:"text-xl leading-none text-base-400"};function ye(r,s,a,e,n,o){return u(),p("div",be,[I("div",Ce,[b(e.Carousel,{autoplay:e.countValidSlides>1?7e3:null},{controls:v(()=>[oe(I("div",Se,[b(e.CarouselControl,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),b(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[G,e.countValidSlides>1]])]),default:v(()=>[(u(!0),p(re,null,se(a.slides,(i,f)=>(u(),p("li",{key:f,class:"shrink-0 basis-full h-full text-center"},[(u(),$(q(i.href?"ALink":"span"),{href:i.href,target:i.target,class:z(["inline-block px-8",i.href?"hover:underline":null])},{default:v(()=>[e.parsedContents[f]?(u(),p("span",{key:0,innerHTML:e.parsedContents[f],class:"prose text-sm text-base-800"},null,8,ge)):ne("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const Ie=j(xe,[["render",ye]]);export{Ie as default};