cloudcommerce 0.9.1 → 0.10.0

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 (143) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/action.yml +3 -0
  3. package/ecomplus-stores/monocard/.devcontainer/devcontainer.json +28 -1
  4. package/ecomplus-stores/monocard/.gitpod.yml +9 -0
  5. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  6. package/ecomplus-stores/monocard/functions/events/package.json +2 -2
  7. package/ecomplus-stores/monocard/functions/modules/package.json +2 -2
  8. package/ecomplus-stores/monocard/functions/passport/package.json +2 -2
  9. package/ecomplus-stores/monocard/functions/ssr/package.json +6 -6
  10. package/ecomplus-stores/monocard/package.json +1 -1
  11. package/ecomplus-stores/tia-sonia/.devcontainer/devcontainer.json +28 -1
  12. package/ecomplus-stores/tia-sonia/.gitpod.yml +9 -0
  13. package/package.json +7 -7
  14. package/packages/api/package.json +1 -1
  15. package/packages/apps/correios/package.json +1 -1
  16. package/packages/apps/custom-payment/package.json +1 -1
  17. package/packages/apps/custom-shipping/package.json +1 -1
  18. package/packages/apps/datafrete/package.json +2 -2
  19. package/packages/apps/discounts/package.json +1 -1
  20. package/packages/apps/emails/package.json +1 -1
  21. package/packages/apps/fb-conversions/package.json +3 -3
  22. package/packages/apps/frenet/package.json +2 -2
  23. package/packages/apps/galaxpay/package.json +2 -2
  24. package/packages/apps/google-analytics/package.json +2 -2
  25. package/packages/apps/infinitepay/package.json +2 -2
  26. package/packages/apps/jadlog/package.json +1 -1
  27. package/packages/apps/loyalty-points/package.json +1 -1
  28. package/packages/apps/melhor-envio/package.json +2 -2
  29. package/packages/apps/mercadopago/package.json +2 -2
  30. package/packages/apps/pagarme/package.json +2 -2
  31. package/packages/apps/paghiper/package.json +2 -2
  32. package/packages/apps/pix/package.json +2 -2
  33. package/packages/apps/tiny-erp/lib/tiny-erp.js +6 -4
  34. package/packages/apps/tiny-erp/lib/tiny-erp.js.map +1 -1
  35. package/packages/apps/tiny-erp/lib/tiny-webhook.js +7 -4
  36. package/packages/apps/tiny-erp/lib/tiny-webhook.js.map +1 -1
  37. package/packages/apps/tiny-erp/package.json +2 -2
  38. package/packages/apps/tiny-erp/src/tiny-erp.ts +6 -4
  39. package/packages/apps/tiny-erp/src/tiny-webhook.ts +7 -4
  40. package/packages/apps/webhooks/package.json +2 -2
  41. package/packages/cli/lib/cli.js +2 -0
  42. package/packages/cli/package.json +1 -1
  43. package/packages/cli/src/cli.ts +3 -0
  44. package/packages/config/lib/config.js +2 -13
  45. package/packages/config/lib/config.js.map +1 -1
  46. package/packages/config/lib/defaults.d.ts +0 -1
  47. package/packages/config/lib/defaults.js +0 -2
  48. package/packages/config/lib/defaults.js.map +1 -1
  49. package/packages/config/package.json +1 -1
  50. package/packages/config/src/config.ts +1 -13
  51. package/packages/config/src/defaults.ts +0 -2
  52. package/packages/emails/package.json +1 -1
  53. package/packages/events/package.json +2 -2
  54. package/packages/firebase/lib/config.d.ts +5 -1
  55. package/packages/firebase/lib/config.js +6 -2
  56. package/packages/firebase/lib/config.js.map +1 -1
  57. package/packages/firebase/package.json +2 -2
  58. package/packages/firebase/src/config.ts +7 -1
  59. package/packages/i18n/package.json +1 -1
  60. package/packages/modules/lib/firebase.js +4 -3
  61. package/packages/modules/lib/firebase.js.map +1 -1
  62. package/packages/modules/package.json +2 -2
  63. package/packages/modules/src/firebase.ts +7 -3
  64. package/packages/passport/lib/firebase/serve-passport-api.js +8 -5
  65. package/packages/passport/lib/firebase/serve-passport-api.js.map +1 -1
  66. package/packages/passport/lib/firebase.js +11 -8
  67. package/packages/passport/lib/firebase.js.map +1 -1
  68. package/packages/passport/package.json +2 -2
  69. package/packages/passport/src/firebase/serve-passport-api.ts +8 -5
  70. package/packages/passport/src/firebase.ts +11 -8
  71. package/packages/ssr/lib/firebase.js +14 -11
  72. package/packages/ssr/lib/firebase.js.map +1 -1
  73. package/packages/ssr/package.json +3 -3
  74. package/packages/ssr/src/firebase.ts +14 -11
  75. package/packages/storefront/.astro/types.d.ts +117 -0
  76. package/packages/storefront/client.d.ts +1 -0
  77. package/packages/storefront/dist/client/_astro/{Carousel.ef27cf12.js → Carousel.06e8cee5.js} +1 -1
  78. package/packages/storefront/dist/client/_astro/HeroSlider.2c4563ee.js +1 -0
  79. package/packages/storefront/dist/client/_astro/PitchBar.8945ceb4.js +1 -0
  80. package/packages/storefront/dist/client/_astro/{Prices.70885f17.js → Prices.bc136725.js} +1 -1
  81. package/packages/storefront/dist/client/_astro/{ShopHeader.89b60037.js → ShopHeader.5d83d6d5.js} +2 -2
  82. package/packages/storefront/dist/client/_astro/{_...slug_.9a31c59e.css → _...slug_.48ea2ee1.css} +1 -1
  83. package/packages/storefront/dist/client/_astro/_commonjsHelpers.725317a4.js +1 -0
  84. package/packages/storefront/dist/client/_astro/{_plugin-vue_export-helper.0c2b7f88.js → _plugin-vue_export-helper.d71c044e.js} +1 -1
  85. package/packages/storefront/dist/client/_astro/{client.4e825332.js → client.97e9e785.js} +1 -1
  86. package/packages/storefront/dist/client/_astro/client.f447e2e8.js +128 -0
  87. package/packages/storefront/dist/client/_astro/{format-money.f09b89ed.js → format-money.d54c1237.js} +1 -1
  88. package/packages/storefront/dist/client/_astro/index.2899cbe4.js +9 -0
  89. package/packages/storefront/dist/client/_astro/{index.9018a8da.js → index.b12dff85.js} +1 -1
  90. package/packages/storefront/dist/client/_astro/index.es.28e34903.js +1 -0
  91. package/packages/storefront/dist/client/_astro/{modules-info.2a72e536.js → modules-info.ea748f9d.js} +1 -1
  92. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.e9908a78.js +1 -0
  93. package/packages/storefront/dist/client/_astro/server.browser.e1b1e312.js +27 -0
  94. package/packages/storefront/dist/client/admin/assets/Range.es-3e45690c.js +1 -0
  95. package/packages/storefront/dist/client/admin/assets/SchemaReference.es-68e2a833.js +1 -0
  96. package/packages/storefront/dist/client/admin/assets/brace-fold.es-f96db61f.js +1 -0
  97. package/packages/storefront/dist/client/admin/assets/closebrackets.es-0488b839.js +2 -0
  98. package/packages/storefront/dist/client/admin/assets/codemirror.es-15b9374a.js +24 -0
  99. package/packages/storefront/dist/client/admin/assets/comment.es-d4bed417.js +2 -0
  100. package/packages/storefront/dist/client/admin/assets/dialog.es-56aaee5b.js +1 -0
  101. package/packages/storefront/dist/client/admin/assets/foldgutter.es-55067bee.js +1 -0
  102. package/packages/storefront/dist/client/admin/assets/forEachState.es-1e367fb2.js +1 -0
  103. package/packages/storefront/dist/client/admin/assets/hint.es-07ec11aa.js +1 -0
  104. package/packages/storefront/dist/client/admin/assets/hint.es2-35fd7219.js +1 -0
  105. package/packages/storefront/dist/client/admin/assets/index-64cd926d.css +1 -0
  106. package/packages/storefront/dist/client/admin/assets/index-d5c6a1a9.js +6332 -0
  107. package/packages/storefront/dist/client/admin/assets/index-f1d880da.js +216 -0
  108. package/packages/storefront/dist/client/admin/assets/info-addon.es-eded2c26.js +1 -0
  109. package/packages/storefront/dist/client/admin/assets/info.es-93649208.js +1 -0
  110. package/packages/storefront/dist/client/admin/assets/javascript.es-634a06b1.js +1 -0
  111. package/packages/storefront/dist/client/admin/assets/jump-to-line.es-23d2d4a8.js +1 -0
  112. package/packages/storefront/dist/client/admin/assets/jump.es-732b233e.js +1 -0
  113. package/packages/storefront/dist/client/admin/assets/lint.es-240359bd.js +6 -0
  114. package/packages/storefront/dist/client/admin/assets/lint.es2-df11292b.js +1 -0
  115. package/packages/storefront/dist/client/admin/assets/lint.es3-aa543b52.js +1 -0
  116. package/packages/storefront/dist/client/admin/assets/matchbrackets.es-f5e3ac04.js +1 -0
  117. package/packages/storefront/dist/client/admin/assets/mode-indent.es-341daf63.js +1 -0
  118. package/packages/storefront/dist/client/admin/assets/mode.es-c74239d3.js +1 -0
  119. package/packages/storefront/dist/client/admin/assets/mode.es2-9319d2a9.js +1 -0
  120. package/packages/storefront/dist/client/admin/assets/mode.es3-deb92d78.js +1 -0
  121. package/packages/storefront/dist/client/admin/assets/search.es-143ba137.js +2 -0
  122. package/packages/storefront/dist/client/admin/assets/searchcursor.es-6069a13e.js +7 -0
  123. package/packages/storefront/dist/client/admin/assets/show-hint.es-ff4fde1d.js +1 -0
  124. package/packages/storefront/dist/client/admin/assets/sublime.es-23f726a0.js +6 -0
  125. package/packages/storefront/dist/client/admin/index.html +15 -0
  126. package/packages/storefront/dist/client/sw.js +1 -1
  127. package/packages/storefront/dist/server/chunks/pages/{all.2ca6d33d.mjs → all.e51db7f0.mjs} +71 -41
  128. package/packages/storefront/dist/server/entry.mjs +3 -3
  129. package/packages/storefront/package.json +15 -7
  130. package/packages/storefront/scripts/prepare-monorepo.sh +2 -0
  131. package/packages/storefront/src/env.d.ts +1 -0
  132. package/packages/storefront/src/lib/components/Post.vue +107 -0
  133. package/packages/storefront/src/lib/composables/use-pitch-bar.ts +26 -2
  134. package/packages/storefront/src/lib/layouts/BaseStateJson.astro +5 -0
  135. package/packages/storefront/src/lib/layouts/use-page-layout.ts +5 -7
  136. package/packages/storefront/src/lib/ssr-context.ts +6 -1
  137. package/packages/storefront/src/lib/state/use-cms-preview.ts +101 -0
  138. package/packages/storefront/storefront.config.mjs +10 -2
  139. package/packages/types/package.json +1 -1
  140. package/packages/storefront/dist/client/_astro/HeroSlider.276b893c.js +0 -1
  141. package/packages/storefront/dist/client/_astro/PitchBar.ff1445b5.js +0 -1
  142. package/packages/storefront/dist/client/_astro/runtime-dom.esm-bundler.1fd80976.js +0 -1
  143. package/packages/storefront/dist/client/admin/config.json +0 -1
@@ -14,7 +14,7 @@ import enableDestroy from 'server-destroy';
14
14
  import { defineComponent, computed, useSSRContext, mergeProps, h as h$1, 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.2ca6d33d.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.e51db7f0.mjs';
18
18
  import 'mime';
19
19
  import 'cookie';
20
20
  import 'kleur/colors';
@@ -3072,10 +3072,10 @@ const _renderer1 = {
3072
3072
  renderToStaticMarkup,
3073
3073
  };
3074
3074
 
3075
- const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.16.6_astro@2.3.0_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],]);
3075
+ const pageMap = new Map([["../../node_modules/.pnpm/@astrojs+image@0.16.6_astro@2.3.0_sharp@0.32.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/app/account.astro", _page4],["src/pages/[...slug].astro", _page5],]);
3076
3076
  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 }),];
3077
3077
 
3078
- 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.16.6_astro@2.3.0_sharp@0.31.3/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["/_astro/_...slug_.9a31c59e.css","/_astro/index.e56fc6b3.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["/_astro/_...slug_.9a31c59e.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.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_.9a31c59e.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.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},"pageMap":null,"componentMetadata":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro",{"propagation":"none","containsHead":true}]],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","~/components/PitchBar.vue":"_astro/PitchBar.ff1445b5.js","~/components/HeroSlider.vue":"_astro/HeroSlider.276b893c.js","@astrojs/vue/client.js":"_astro/client.4e825332.js","~/components/Prices.vue":"_astro/Prices.70885f17.js","/astro/hoisted.js?q=0":"_astro/hoisted.56fa2eff.js","~/components/ShopHeader.vue":"_astro/ShopHeader.89b60037.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.dc90f814.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.2840bd36.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.e56fc6b3.css","/_astro/server.1dabec03.css","/_astro/index.1eaf97c3.css","/_astro/_...slug_.9a31c59e.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e0d788d4.js","/_astro/Carousel.ef27cf12.js","/_astro/HeroSlider.276b893c.js","/_astro/PitchBar.ff1445b5.js","/_astro/Prices.70885f17.js","/_astro/ShopHeader.89b60037.js","/_astro/_plugin-vue_export-helper.0c2b7f88.js","/_astro/client.4e825332.js","/_astro/firebase-app.2840bd36.js","/_astro/format-money.f09b89ed.js","/_astro/hoisted.56fa2eff.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.9018a8da.js","/_astro/modules-info.2a72e536.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.1fd80976.js","/_astro/session-utm.ac492493.js","/_astro/workbox-window.prod.es5.dc90f814.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/ecom-icon.png","/img/uploads/favicon.png","/img/uploads/headless.png","/img/uploads/headphone.png","/img/uploads/headphone.webp","/img/uploads/logo.png","/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"]}), {
3078
+ 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.16.6_astro@2.3.0_sharp@0.32.0/node_modules/@astrojs/image/dist/endpoint.js","pathname":"/_image","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["/_astro/_...slug_.48ea2ee1.css","/_astro/index.e56fc6b3.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.js"}],"routeData":{"route":"/","type":"page","pattern":"^\\/$","segments":[],"params":[],"component":"src/pages/index.astro","pathname":"/","prerender":false,"_meta":{"trailingSlash":"ignore"}}},{"file":"","links":["/_astro/_...slug_.48ea2ee1.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.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_.48ea2ee1.css","/_astro/index.1eaf97c3.css"],"scripts":[{"type":"external","value":"/_astro/hoisted.56fa2eff.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},"pageMap":null,"componentMetadata":[["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/[...slug].astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/fallback.astro",{"propagation":"none","containsHead":true}],["/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/pages/index.astro",{"propagation":"none","containsHead":true}]],"renderers":[],"entryModules":{"\u0000@astrojs-ssr-virtual-entry":"_@astrojs-ssr-virtual-entry.mjs","~/components/PitchBar.vue":"_astro/PitchBar.8945ceb4.js","~/components/HeroSlider.vue":"_astro/HeroSlider.2c4563ee.js","~/components/Prices.vue":"_astro/Prices.bc136725.js","/astro/hoisted.js?q=0":"_astro/hoisted.56fa2eff.js","@astrojs/vue/client.js":"_astro/client.97e9e785.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/node_modules/tinacms/dist/rich-text/index.es.js":"_astro/index.es.28e34903.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/tina/__generated__/client.ts":"_astro/client.f447e2e8.js","/home/leo/code/ecomplus/cloud-commerce/node_modules/workbox-window/build/workbox-window.prod.es5.mjs":"_astro/workbox-window.prod.es5.dc90f814.js","~/components/ShopHeader.vue":"_astro/ShopHeader.5d83d6d5.js","/home/leo/code/ecomplus/cloud-commerce/packages/storefront/src/lib/scripts/firebase-app.ts":"_astro/firebase-app.2840bd36.js","astro:scripts/before-hydration.js":""},"assets":["/_astro/index.1eaf97c3.css","/_astro/index.e56fc6b3.css","/_astro/server.1dabec03.css","/_astro/_...slug_.48ea2ee1.css","/manifest.webmanifest","/robots.txt","/sw.js","/workbox-e0d788d4.js","/_astro/Carousel.06e8cee5.js","/_astro/HeroSlider.2c4563ee.js","/_astro/PitchBar.8945ceb4.js","/_astro/Prices.bc136725.js","/_astro/ShopHeader.5d83d6d5.js","/_astro/_commonjsHelpers.725317a4.js","/_astro/_plugin-vue_export-helper.d71c044e.js","/_astro/client.97e9e785.js","/_astro/client.f447e2e8.js","/_astro/firebase-app.2840bd36.js","/_astro/format-money.d54c1237.js","/_astro/hoisted.56fa2eff.js","/_astro/idle-callback.889bf0ea.js","/_astro/index.2899cbe4.js","/_astro/index.b12dff85.js","/_astro/index.es.28e34903.js","/_astro/modules-info.ea748f9d.js","/_astro/preload-helper.101896b7.js","/_astro/runtime-dom.esm-bundler.e9908a78.js","/_astro/server.browser.e1b1e312.js","/_astro/session-utm.ac492493.js","/_astro/workbox-window.prod.es5.dc90f814.js","/admin/index.html","/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","/admin/assets/Range.es-3e45690c.js","/admin/assets/SchemaReference.es-68e2a833.js","/admin/assets/brace-fold.es-f96db61f.js","/admin/assets/closebrackets.es-0488b839.js","/admin/assets/codemirror.es-15b9374a.js","/admin/assets/comment.es-d4bed417.js","/admin/assets/dialog.es-56aaee5b.js","/admin/assets/foldgutter.es-55067bee.js","/admin/assets/forEachState.es-1e367fb2.js","/admin/assets/hint.es-07ec11aa.js","/admin/assets/hint.es2-35fd7219.js","/admin/assets/index-64cd926d.css","/admin/assets/index-d5c6a1a9.js","/admin/assets/index-f1d880da.js","/admin/assets/info-addon.es-eded2c26.js","/admin/assets/info.es-93649208.js","/admin/assets/javascript.es-634a06b1.js","/admin/assets/jump-to-line.es-23d2d4a8.js","/admin/assets/jump.es-732b233e.js","/admin/assets/lint.es-240359bd.js","/admin/assets/lint.es2-df11292b.js","/admin/assets/lint.es3-aa543b52.js","/admin/assets/matchbrackets.es-f5e3ac04.js","/admin/assets/mode-indent.es-341daf63.js","/admin/assets/mode.es-c74239d3.js","/admin/assets/mode.es2-9319d2a9.js","/admin/assets/mode.es3-deb92d78.js","/admin/assets/search.es-143ba137.js","/admin/assets/searchcursor.es-6069a13e.js","/admin/assets/show-hint.es-ff4fde1d.js","/admin/assets/sublime.es-23f726a0.js","/img/uploads/banner1.png","/img/uploads/banner2.png","/img/uploads/banner2.webp","/img/uploads/ecom-icon.png","/img/uploads/favicon.png","/img/uploads/headless.png","/img/uploads/headphone.png","/img/uploads/headphone.webp","/img/uploads/logo.png","/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"]}), {
3079
3079
  pageMap: pageMap,
3080
3080
  renderers: renderers
3081
3081
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/storefront",
3
3
  "type": "module",
4
- "version": "0.9.1",
4
+ "version": "0.10.0",
5
5
  "description": "E-Com Plus Cloud Commerce storefront with Astro",
6
6
  "bin": {
7
7
  "storefront": "./scripts/build-prod.sh"
@@ -20,10 +20,13 @@
20
20
  "homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/storefront#readme",
21
21
  "scripts": {
22
22
  "dev": "astro dev",
23
- "start": "astro dev --host",
23
+ "dev:cms": "tinacms dev -c \"astro dev\"",
24
+ "start": "tinacms build && astro dev --host",
24
25
  "build": "astro build",
25
26
  "build:static": "BUILD_OUTPUT=static astro build",
26
27
  "build:prod": "bash scripts/build-prod.sh",
28
+ "build:cms": "tinacms build",
29
+ "build:all": "concurrently \"npm run build:prod\" \"npm run build:cms\"",
27
30
  "preview": "astro preview",
28
31
  "astro": "astro",
29
32
  "prepare-monorepo": "bash scripts/prepare-monorepo.sh"
@@ -41,19 +44,24 @@
41
44
  "@iconify-json/fa6-brands": "^1.1.11",
42
45
  "@iconify-json/heroicons": "^1.1.10",
43
46
  "@iconify-json/logos": "^1.1.25",
47
+ "@tinacms/cli": "^1.5.6",
44
48
  "@vite-pwa/astro": "^0.0.5",
45
- "@vueuse/core": "10.0.2",
49
+ "@vueuse/core": "10.1.0",
46
50
  "astro": "2.3.0",
47
51
  "chroma-js": "^2.4.2",
52
+ "concurrently": "^8.0.1",
48
53
  "dotenv": "^16.0.3",
49
54
  "firebase": "^9.20.0",
50
55
  "image-size": "^1.0.2",
51
56
  "mime": "^3.0.0",
57
+ "react": "^18.2.0",
58
+ "react-dom": "^18.2.0",
52
59
  "semver": "^7.5.0",
53
- "sharp": "^0.31.3",
54
- "tailwindcss": "^3.3.1",
55
- "unocss": "^0.51.5",
56
- "vite": "^4.2.2",
60
+ "sharp": "^0.32.0",
61
+ "tailwindcss": "^3.3.2",
62
+ "tinacms": "^1.4.6",
63
+ "unocss": "^0.51.8",
64
+ "vite": "^4.3.2",
57
65
  "vite-plugin-pwa": "^0.14.7",
58
66
  "vue": "^3.2.47"
59
67
  },
@@ -2,9 +2,11 @@
2
2
 
3
3
  rm -rf content && ln -s ../../store/functions/ssr/content content
4
4
  rm -rf public && ln -s ../../store/functions/ssr/public public
5
+ rm -rf src/content && ln -s ../../../store/functions/ssr/src/content src/content
5
6
  rm -rf src/pages && ln -s ../../../store/functions/ssr/src/pages src/pages
6
7
  rm -rf src/layouts && ln -s ../../../store/functions/ssr/src/layouts src/layouts
7
8
  rm -rf src/main && ln -s ../../../store/functions/ssr/src/main src/main
8
9
  rm -rf src/components && ln -s ../../../store/functions/ssr/src/components src/components
9
10
  rm -rf src/scripts && ln -s ../../../store/functions/ssr/src/scripts src/scripts
10
11
  rm -rf src/assets && ln -s ../../../store/functions/ssr/src/assets src/assets
12
+ rm -rf tina && ln -s ../../store/functions/ssr/tina tina
@@ -1,3 +1,4 @@
1
+ /// <reference path="../.astro/types.d.ts" />
1
2
  /// <reference types="@astrojs/image/client" />
2
3
  /// <reference types="vite-plugin-pwa/client" />
3
4
  /// <reference types="vue/ref-macros" />
@@ -0,0 +1,107 @@
1
+ <template>
2
+ <main>
3
+ <h1>{{ data?.data?.post.title }}</h1>
4
+ <pre>
5
+ <!-- @ts-ignore -->
6
+ {{ JSON.stringify(data?.data?.post?.body, null, 2) }}
7
+ </pre>
8
+ </main>
9
+ </template>
10
+
11
+ <script lang="ts">
12
+ import { defineComponent } from 'vue'
13
+
14
+ import { client } from '../../../tina/__generated__/client'
15
+ import type { PostQuery, Exact } from '../../../tina/__generated__/types'
16
+
17
+ interface Data {
18
+ data: PostQuery
19
+ variables: Exact<{
20
+ relativePath: string
21
+ }>
22
+ query: string
23
+ }
24
+
25
+ function getTinaUpdates<T extends object>({
26
+ data,
27
+ query,
28
+ variables,
29
+ cb,
30
+ }: {
31
+ query: string
32
+ variables: object
33
+ data: T
34
+ cb: (data: T) => void
35
+ }) {
36
+ if (!import.meta.env.SSR) {
37
+ const id = btoa(JSON.stringify({ query: query }))
38
+ window.parent.postMessage(
39
+ // was getting errors in vue here. Is it OK to parse and stringify?
40
+ JSON.parse(JSON.stringify({ type: 'open', data, query, variables, id })),
41
+ window.location.origin
42
+ )
43
+ window.addEventListener('message', (event) => {
44
+ if (event.data.id === id) {
45
+ console.log('child: event received')
46
+ cb(event.data.data)
47
+ }
48
+ })
49
+ }
50
+ }
51
+ const closeTinaConnection = ({
52
+ query,
53
+ id,
54
+ }: {
55
+ query: string
56
+ id?: string
57
+ }) => {
58
+ if (!import.meta.env.SSR) {
59
+ window.parent.postMessage(
60
+ { type: 'close', id: id || btoa(JSON.stringify({ query: query })) },
61
+ window.location.origin
62
+ )
63
+ }
64
+ }
65
+
66
+ export default defineComponent<
67
+ {},
68
+ { fetchPost: () => Promise<void> },
69
+ { data: Data; loading: boolean }
70
+ >({
71
+ name: 'Post',
72
+ data() {
73
+ return {
74
+ loading: false,
75
+ data: null as unknown as Data,
76
+ error: null,
77
+ }
78
+ },
79
+ created() {
80
+ // watch the params of the route to fetch the data again
81
+ this.fetchPost().then(() => {
82
+ getTinaUpdates({
83
+ cb: (newData) => {
84
+ this.$data.data = {
85
+ ...this.$data.data,
86
+ data: newData,
87
+ }
88
+ },
89
+ data: this.data.data,
90
+ query: this.data.query,
91
+ variables: this.data.variables,
92
+ })
93
+ })
94
+ },
95
+ unmounted() {
96
+ closeTinaConnection({ query: this.data.query })
97
+ },
98
+ methods: {
99
+ async fetchPost() {
100
+ this.loading = true
101
+ this.data = await client.queries.post({
102
+ relativePath: 'hello-tinacms.md',
103
+ })
104
+ },
105
+ },
106
+ })
107
+ </script>
@@ -1,5 +1,7 @@
1
+ import type { CmsLayout } from '@@sf/cms';
1
2
  import { computed } from 'vue';
2
3
  import { parseShippingPhrase } from '@@sf/state/modules-info';
4
+ import { useCMSPreview } from '@@sf/state/use-cms-preview';
3
5
 
4
6
  export interface Props {
5
7
  slides: Array<{
@@ -9,10 +11,27 @@ export interface Props {
9
11
  }>;
10
12
  }
11
13
 
14
+ const parseLayoutContent = (layoutContent: CmsLayout) => {
15
+ const pitchBar: Props = { slides: [] };
16
+ if (layoutContent.header?.pitch_bar) {
17
+ pitchBar.slides = layoutContent.header.pitch_bar;
18
+ }
19
+ return pitchBar;
20
+ };
21
+
12
22
  const usePitchBar = (props: Props) => {
23
+ const { liveContent } = useCMSPreview(async (tinaClient) => {
24
+ return tinaClient.queries.layout({ relativePath: 'layout.json' });
25
+ });
13
26
  const parsedContents = computed(() => {
14
- return props.slides.map(({ html }) => {
15
- return parseShippingPhrase(html).value;
27
+ const slides = liveContent.layout
28
+ // @ts-ignore
29
+ ? parseLayoutContent(liveContent.layout).slides
30
+ : props.slides;
31
+ return slides.map(({ html }) => {
32
+ return parseShippingPhrase(html).value
33
+ .replace(/<\/?p>/g, '')
34
+ .replace(/&lt;(\/?d-md)&gt;/g, '<$1>');
16
35
  });
17
36
  });
18
37
  const countValidSlides = computed(() => {
@@ -25,3 +44,8 @@ const usePitchBar = (props: Props) => {
25
44
  };
26
45
 
27
46
  export default usePitchBar;
47
+
48
+ export {
49
+ parseLayoutContent,
50
+ usePitchBar,
51
+ };
@@ -17,6 +17,7 @@ const {
17
17
  currencySymbol,
18
18
  domain,
19
19
  settings,
20
+ isPreview,
20
21
  },
21
22
  } = Astro.props as Props;
22
23
 
@@ -56,6 +57,10 @@ window.storefront.context = ${JSON.stringify({
56
57
  timestamp: Date.now(),
57
58
  })};`;
58
59
  }
60
+ if (isPreview) {
61
+ inlineClientJS += `
62
+ window.isCMSPreview = true;`;
63
+ }
59
64
 
60
65
  const inlineJSONLd = JSON.stringify({
61
66
  '@context': 'http://schema.org',
@@ -1,7 +1,7 @@
1
1
  import type { PageContext } from '@@sf/ssr-context';
2
2
  import type { CmsLayout } from '@@sf/cms';
3
- import type { Props as PitchBarProps } from '@@sf/composables/use-pitch-bar';
4
3
  import type { Props as UseShopHeaderProps } from '@@sf/composables/use-shop-header';
4
+ import { parseLayoutContent } from '@@sf/composables/use-pitch-bar';
5
5
 
6
6
  type ShopHeaderProps = Omit<UseShopHeaderProps, 'header'> & {
7
7
  serviceLinks?: CmsLayout['service_links'],
@@ -13,14 +13,12 @@ export interface Props {
13
13
 
14
14
  const usePageLayout = async ({ pageContext }: Props) => {
15
15
  const { apiState, cms } = pageContext;
16
+ const cmsLayout = await cms('layout');
16
17
  const {
17
18
  header: cmsHeader,
18
19
  service_links: cmsServiceLinks,
19
- } = await cms('layout');
20
- const pitchBar: PitchBarProps = { slides: [] };
21
- if (cmsHeader?.pitch_bar) {
22
- pitchBar.slides = cmsHeader.pitch_bar;
23
- }
20
+ } = cmsLayout;
21
+ const pitchBar = parseLayoutContent(cmsLayout);
24
22
  const shopHeader: ShopHeaderProps = {
25
23
  categories: apiState.categories || [],
26
24
  menuCategorySlugs: cmsHeader.inline_menu_categories?.featured,
@@ -38,4 +36,4 @@ export default usePageLayout;
38
36
 
39
37
  export { usePageLayout };
40
38
 
41
- export type { PitchBarProps, ShopHeaderProps };
39
+ export type { ShopHeaderProps };
@@ -57,7 +57,11 @@ const loadPageContext = async (Astro: Readonly<AstroGlobal>, {
57
57
  apiPrefetchEndpoints?: ApiPrefetchEndpoints;
58
58
  } = {}) => {
59
59
  const startedAt = Date.now();
60
- const urlPath = Astro.url.pathname;
60
+ let urlPath = Astro.url.pathname;
61
+ const isPreview = urlPath.startsWith('/~preview');
62
+ if (isPreview) {
63
+ urlPath = urlPath.replace('/~preview', '');
64
+ }
61
65
  const isHomepage = urlPath === '/';
62
66
  const config = getConfig();
63
67
  globalThis.storefront.settings = config.settings;
@@ -150,6 +154,7 @@ const loadPageContext = async (Astro: Readonly<AstroGlobal>, {
150
154
  apiDoc,
151
155
  apiState,
152
156
  getContent: config.cms,
157
+ isPreview,
153
158
  };
154
159
  emitter.emit('load', pageContext);
155
160
  return pageContext;
@@ -0,0 +1,101 @@
1
+ import { shallowReactive } from 'vue';
2
+
3
+ type TinaClient = typeof import('~/../tina/__generated__/client')['client'];
4
+
5
+ function getTinaUpdates<T extends object>({
6
+ data,
7
+ query,
8
+ variables,
9
+ cb,
10
+ }: {
11
+ query: string,
12
+ variables: object,
13
+ data: T,
14
+ cb: (newData: T) => void,
15
+ }) {
16
+ if (!import.meta.env.SSR) {
17
+ const id = btoa(JSON.stringify({ query }));
18
+ window.parent.postMessage(
19
+ JSON.parse(JSON.stringify({
20
+ type: 'open',
21
+ data,
22
+ query,
23
+ variables,
24
+ id,
25
+ })),
26
+ window.location.origin,
27
+ );
28
+ window.addEventListener('message', (event) => {
29
+ if (event.data.id === id) {
30
+ cb(event.data.data);
31
+ }
32
+ });
33
+ }
34
+ }
35
+
36
+ const closeTinaConnection = ({
37
+ query,
38
+ id,
39
+ }: {
40
+ query: string
41
+ id?: string
42
+ }) => {
43
+ if (!import.meta.env.SSR) {
44
+ window.parent.postMessage(
45
+ { type: 'close', id: id || btoa(JSON.stringify({ query })) },
46
+ window.location.origin,
47
+ );
48
+ }
49
+ };
50
+
51
+ const useCMSPreview = <T extends {
52
+ data: Record<string, any>,
53
+ variables: Record<string, any>,
54
+ query: string,
55
+ }>(fetchData: (client: TinaClient) => Promise<T>) => {
56
+ const liveContent = shallowReactive<T['data']>({});
57
+ if (!import.meta.env.SSR && window.isCMSPreview) {
58
+ import('react-dom/server').then(async ({ default: ReactDOMServer }) => {
59
+ const { TinaMarkdown } = await import('tinacms/dist/rich-text');
60
+ const deepParseData = (data: Record<string, any>) => {
61
+ Object.keys(data).forEach((field) => {
62
+ if (typeof data[field] === 'object' && data[field]) {
63
+ if (Array.isArray(data[field])) {
64
+ data[field].forEach((nested: any) => deepParseData(nested));
65
+ } if (data[field].type === 'root' && Array.isArray(data[field].children)) {
66
+ data[field] = ReactDOMServer.renderToString(TinaMarkdown({
67
+ content: data[field],
68
+ }));
69
+ } else {
70
+ deepParseData(data[field]);
71
+ }
72
+ }
73
+ });
74
+ return data;
75
+ };
76
+ // eslint-disable-next-line import/extensions
77
+ const { client } = await import('~/../tina/__generated__/client');
78
+ const data = await fetchData(client);
79
+ getTinaUpdates({
80
+ cb: (newData) => {
81
+ Object.assign(liveContent, deepParseData(newData));
82
+ },
83
+ data: data.data,
84
+ query: data.query,
85
+ variables: data.variables,
86
+ });
87
+ window.addEventListener('beforeunload', () => {
88
+ closeTinaConnection({ query: data.query });
89
+ }, { capture: true });
90
+ });
91
+ }
92
+ return { liveContent };
93
+ };
94
+
95
+ export default useCMSPreview;
96
+
97
+ export {
98
+ useCMSPreview,
99
+ getTinaUpdates,
100
+ closeTinaConnection,
101
+ };
@@ -25,9 +25,17 @@ export default () => {
25
25
  const mergeConfig = JSON.parse(readFileSync(configFilepath), 'utf8');
26
26
  if (mergeConfig.storeId) {
27
27
  storeId = mergeConfig.storeId;
28
- config.set({ storeId });
29
28
  }
30
- } catch { /* */ }
29
+ } catch {
30
+ //
31
+ }
32
+ if (!storeId && import.meta.env.DEV === true) {
33
+ storeId = 1011;
34
+ console.warn('> `storeId` is not set, using fallback 1011 for dev only\n');
35
+ }
36
+ if (storeId) {
37
+ config.set({ storeId });
38
+ }
31
39
  }
32
40
  const {
33
41
  lang,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/types",
3
3
  "type": "module",
4
- "version": "0.9.1",
4
+ "version": "0.10.0",
5
5
  "description": "E-Com Plus Cloud Commerce reusable type definitions",
6
6
  "main": "index.ts",
7
7
  "repository": {
@@ -1 +0,0 @@
1
- import{v as b}from"./runtime-dom.esm-bundler.1fd80976.js";import{p as u}from"./modules-info.2a72e536.js";import{c as f,_ as v,d as g,a as o,e as d,w as p,o as s,f as y,b as n,F as w,r as C,n as _,q as S,g as k,h as H,v as T,u as m,i as h}from"./_plugin-vue_export-helper.0c2b7f88.js";import{C as B,a as N}from"./Carousel.ef27cf12.js";import"./session-utm.ac492493.js";import"./idle-callback.889bf0ea.js";import"./format-money.f09b89ed.js";import"./index.9018a8da.js";const V=a=>({parsedSlides:f(()=>a.slides.map(e=>{const r=e.title?u(e.title).value:"",l=e.subtitle?u(e.subtitle).value:"",x=e.buttonText?u(e.buttonText).value:"";return{...e,hasHeader:!!(r||l||x)}}))}),D=g({__name:"HeroSlider",props:{autoplay:null,slides:null},setup(a,{expose:i}){i();const e=a,{parsedSlides:r}=V(e),l={props:e,parsedSlides:r,Carousel:B,CarouselControl:N};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),z={class:"relative mx-auto"},F=["href"],L={key:0,class:"basis-1/2 grow-0 p-12 xl:ps-32 mb-3 md:mb-0"},P={key:0,class:"text-lg mt-4 md:mt-6"},j=["href"],q={class:"absolute z-10 top-1/2 -mt-8 w-screen xl:max-w-screen-xl xl:left-1/2 -ms-[640px] text-3xl leading-none text-base-400 opacity-60"},E={class:"relative"};function O(a,i,e,r,l,x){return s(),o("section",z,[d(r.Carousel,{autoplay:e.autoplay},{controls:p(()=>[y(n("div",q,[n("div",E,[d(r.CarouselControl,{direction:-1,class:"p-3 rounded-full hover:bg-white/40 hover:text-primary"}),d(r.CarouselControl,{class:"p-3 rounded-full hover:bg-white/40 hover:text-primary"})])],512),[[b,r.parsedSlides.length>1]])]),default:p(()=>[(s(!0),o(w,null,C(r.parsedSlides,(t,c)=>(s(),o("li",{key:c,class:"shrink-0 basis-full h-full secondary"},[n("div",{class:_(["w-screen max-w-screen-2xl mx-auto overflow-x-hidden",t.hasHeader?"grid grid-cols-1 md:grid-cols-2 items-center":null])},[n("a",{href:t.href,class:_(t.hasHeader?"basis-1/2 grow-0 md:order-last":null)},[S(a.$slots,`picture-${c}`)],10,F),t.hasHeader?(s(),o("div",L,[(s(),k(H(c===0?"h2":"h3"),{class:"mt-1 text-3xl xl:text-5xl font-black"},{default:p(()=>[T(m(t.title),1)]),_:2},1024)),t.subtitle?(s(),o("p",P,m(t.subtitle),1)):h("",!0),t.buttonText?(s(),o("a",{key:1,href:t.buttonLink,class:"not-prose inline-block min-w-[150px] mt-7 md:mt-10 bg-white text-primary text-lg font-bold px-6 py-2.5 rounded hover:bg-primary-100 active:ring-3 ring-white/30"},m(t.buttonText),9,j)):h("",!0)])):h("",!0)],2)]))),128))]),_:3},8,["autoplay"])])}const U=v(D,[["render",O]]);export{U as default};
@@ -1 +0,0 @@
1
- import{v as _}from"./runtime-dom.esm-bundler.1fd80976.js";import{p as h}from"./modules-info.2a72e536.js";import{c as u,_ as f,d as C,a as n,b as m,e as c,w as d,o as r,f as b,F as v,r as x,g,h as k,n as S,i as y}from"./_plugin-vue_export-helper.0c2b7f88.js";import{C as B,a as V}from"./Carousel.ef27cf12.js";import"./session-utm.ac492493.js";import"./idle-callback.889bf0ea.js";import"./format-money.f09b89ed.js";import"./index.9018a8da.js";const w=a=>{const s=u(()=>a.slides.map(({html:e})=>h(e).value)),t=u(()=>s.value.filter(e=>e).length);return{parsedContents:s,countValidSlides:t}},P=C({__name:"PitchBar",props:{slides:null},setup(a,{expose:s}){s();const t=a,{parsedContents:e,countValidSlides:p}=w(t),l={props:t,parsedContents:e,countValidSlides:p,Carousel:B,CarouselControl:V};return Object.defineProperty(l,"__isScriptSetup",{enumerable:!1,value:!0}),l}}),L={class:"bg-base-100 relative z-20"},N={class:"container md:w-2/3 mx-auto px-3 py-1"},z=["innerHTML"],D={class:"text-xl leading-none text-base-400"};function F(a,s,t,e,p,l){return r(),n("div",L,[m("div",N,[c(e.Carousel,{autoplay:e.countValidSlides>1?7e3:void 0},{controls:d(()=>[b(m("div",D,[c(e.CarouselControl,{direction:-1,class:"pr-2 bg-base-100 hover:text-base-700"}),c(e.CarouselControl,{class:"pl-2 bg-base-100 hover:text-base-700"})],512),[[_,e.countValidSlides>1]])]),default:d(()=>[(r(!0),n(v,null,x(t.slides,(o,i)=>(r(),n("li",{key:i,class:"shrink-0 basis-full h-full text-center"},[(r(),g(k(o.href?"ALink":"span"),{href:o.href,target:o.target,class:S(["inline-block px-8",o.href?"hover:underline":null])},{default:d(()=>[e.parsedContents[i]?(r(),n("span",{key:0,innerHTML:e.parsedContents[i],class:"prose text-sm text-base-800"},null,8,z)):y("",!0)]),_:2},1032,["href","target","class"]))]))),128))]),_:1},8,["autoplay"])])])}const G=f(P,[["render",F]]);export{G as default};
@@ -1 +0,0 @@
1
- import{R as tt,U as L,V as mt,W as gt,y as vt,X as et,Y as O,Z as ht,$ as Ct,a0 as D,a1 as bt,a2 as St,a3 as nt,a4 as Et,a5 as At,a6 as Tt,a7 as st,a8 as Nt}from"./_plugin-vue_export-helper.0c2b7f88.js";const _t="http://www.w3.org/2000/svg",S=typeof document<"u"?document:null,K=S&&S.createElement("template"),Lt={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const r=e?S.createElementNS(_t,t):S.createElement(t,n?{is:n}:void 0);return t==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:t=>S.createTextNode(t),createComment:t=>S.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>S.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,r,i){const a=n?n.previousSibling:e.lastChild;if(r&&(r===i||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{K.innerHTML=s?`<svg>${t}</svg>`:t;const f=K.content;if(s){const c=f.firstChild;for(;c.firstChild;)f.appendChild(c.firstChild);f.removeChild(c)}e.insertBefore(f,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function Dt(t,e,n){const s=t._vtc;s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function wt(t,e,n){const s=t.style,r=L(n);if(n&&!r){if(e&&!L(e))for(const i in e)n[i]==null&&$(s,i,"");for(const i in n)$(s,i,n[i])}else{const i=s.display;r?e!==n&&(s.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(s.display=i)}}const W=/\s*!important$/;function $(t,e,n){if(D(n))n.forEach(s=>$(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=It(t,e);W.test(n)?t.setProperty(nt(s),n.replace(W,""),"important"):t[s]=n}}const j=["Webkit","Moz","ms"],I={};function It(t,e){const n=I[e];if(n)return n;let s=Et(e);if(s!=="filter"&&s in t)return I[e]=s;s=At(s);for(let r=0;r<j.length;r++){const i=j[r]+s;if(i in t)return I[e]=i}return e}const U="http://www.w3.org/1999/xlink";function Mt(t,e,n,s,r){if(s&&e.startsWith("xlink:"))n==null?t.removeAttributeNS(U,e.slice(6,e.length)):t.setAttributeNS(U,e,n);else{const i=Tt(e);n==null||i&&!st(n)?t.removeAttribute(e):t.setAttribute(e,i?"":n)}}function Pt(t,e,n,s,r,i,a){if(e==="innerHTML"||e==="textContent"){s&&a(s,r,i),t[e]=n??"";return}if(e==="value"&&t.tagName!=="PROGRESS"&&!t.tagName.includes("-")){t._value=n;const c=n??"";(t.value!==c||t.tagName==="OPTION")&&(t.value=c),n==null&&t.removeAttribute(e);return}let f=!1;if(n===""||n==null){const c=typeof t[e];c==="boolean"?n=st(n):n==null&&c==="string"?(n="",f=!0):c==="number"&&(n=0,f=!0)}try{t[e]=n}catch{}f&&t.removeAttribute(e)}function $t(t,e,n,s){t.addEventListener(e,n,s)}function Ot(t,e,n,s){t.removeEventListener(e,n,s)}function Rt(t,e,n,s,r=null){const i=t._vei||(t._vei={}),a=i[e];if(s&&a)a.value=s;else{const[f,c]=xt(e);if(s){const p=i[e]=Ft(s,r);$t(t,f,p,c)}else a&&(Ot(t,f,a,c),i[e]=void 0)}}const X=/(?:Once|Passive|Capture)$/;function xt(t){let e;if(X.test(t)){e={};let s;for(;s=t.match(X);)t=t.slice(0,t.length-s[0].length),e[s[0].toLowerCase()]=!0}return[t[2]===":"?t.slice(3):nt(t.slice(2)),e]}let M=0;const Bt=Promise.resolve(),Ht=()=>M||(Bt.then(()=>M=0),M=Date.now());function Ft(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Nt(yt(s,n.value),e,5,[s])};return n.value=t,n.attached=Ht(),n}function yt(t,e){if(D(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>r=>!r._stopped&&s&&s(r))}else return e}const G=/^on[a-z]/,zt=(t,e,n,s,r=!1,i,a,f,c)=>{e==="class"?Dt(t,s,r):e==="style"?wt(t,n,s):bt(e)?St(e)||Rt(t,e,n,s,a):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):qt(t,e,s,r))?Pt(t,e,s,i,a,f,c):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),Mt(t,e,s,r))};function qt(t,e,n,s){return s?!!(e==="innerHTML"||e==="textContent"||e in t&&G.test(e)&&tt(n)):e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA"||G.test(e)&&L(n)?!1:e in t}const g="transition",T="animation",rt=(t,{slots:e})=>vt(et,Kt(t),e);rt.displayName="Transition";const it={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};rt.props=O({},et.props,it);const C=(t,e=[])=>{D(t)?t.forEach(n=>n(...e)):t&&t(...e)},Y=t=>t?D(t)?t.some(e=>e.length>1):t.length>1:!1;function Kt(t){const e={};for(const o in t)o in it||(e[o]=t[o]);if(t.css===!1)return e;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:f=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:p=a,appearToClass:l=f,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:m=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=t,A=Wt(r),ct=A&&A[0],ft=A&&A[1],{onBeforeEnter:R,onEnter:x,onEnterCancelled:B,onLeave:H,onLeaveCancelled:lt,onBeforeAppear:ut=R,onAppear:pt=x,onAppearCancelled:dt=B}=e,w=(o,u,h)=>{b(o,u?l:f),b(o,u?p:a),h&&h()},F=(o,u)=>{o._isLeaving=!1,b(o,d),b(o,E),b(o,m),u&&u()},y=o=>(u,h)=>{const z=o?pt:x,q=()=>w(u,o,h);C(z,[u,q]),Z(()=>{b(u,o?c:i),v(u,o?l:f),Y(z)||J(u,s,ct,q)})};return O(e,{onBeforeEnter(o){C(R,[o]),v(o,i),v(o,a)},onBeforeAppear(o){C(ut,[o]),v(o,c),v(o,p)},onEnter:y(!1),onAppear:y(!0),onLeave(o,u){o._isLeaving=!0;const h=()=>F(o,u);v(o,d),Xt(),v(o,m),Z(()=>{o._isLeaving&&(b(o,d),v(o,E),Y(H)||J(o,s,ft,h))}),C(H,[o,h])},onEnterCancelled(o){w(o,!1),C(B,[o])},onAppearCancelled(o){w(o,!0),C(dt,[o])},onLeaveCancelled(o){F(o),C(lt,[o])}})}function Wt(t){if(t==null)return null;if(ht(t))return[P(t.enter),P(t.leave)];{const e=P(t);return[e,e]}}function P(t){return Ct(t)}function v(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.add(n)),(t._vtc||(t._vtc=new Set)).add(e)}function b(t,e){e.split(/\s+/).forEach(s=>s&&t.classList.remove(s));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Z(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let jt=0;function J(t,e,n,s){const r=t._endId=++jt,i=()=>{r===t._endId&&s()};if(n)return setTimeout(i,n);const{type:a,timeout:f,propCount:c}=Ut(t,e);if(!a)return s();const p=a+"end";let l=0;const d=()=>{t.removeEventListener(p,m),i()},m=E=>{E.target===t&&++l>=c&&d()};setTimeout(()=>{l<c&&d()},f+1),t.addEventListener(p,m)}function Ut(t,e){const n=window.getComputedStyle(t),s=A=>(n[A]||"").split(", "),r=s(`${g}Delay`),i=s(`${g}Duration`),a=Q(r,i),f=s(`${T}Delay`),c=s(`${T}Duration`),p=Q(f,c);let l=null,d=0,m=0;e===g?a>0&&(l=g,d=a,m=i.length):e===T?p>0&&(l=T,d=p,m=c.length):(d=Math.max(a,p),l=d>0?a>p?g:T:null,m=l?l===g?i.length:c.length:0);const E=l===g&&/\b(transform|all)(,|$)/.test(s(`${g}Property`).toString());return{type:l,timeout:d,propCount:m,hasTransform:E}}function Q(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max(...e.map((n,s)=>V(n)+V(t[s])))}function V(t){return Number(t.slice(0,-1).replace(",","."))*1e3}function Xt(){return document.body.offsetHeight}const Gt=["ctrl","shift","alt","meta"],Yt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Gt.some(n=>t[`${n}Key`]&&!e.includes(n))},Vt=(t,e)=>(n,...s)=>{for(let r=0;r<e.length;r++){const i=Yt[e[r]];if(i&&i(n,e))return}return t(n,...s)},kt={beforeMount(t,{value:e},{transition:n}){t._vod=t.style.display==="none"?"":t.style.display,n&&e?n.beforeEnter(t):N(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:s}){!e!=!n&&(s?e?(s.beforeEnter(t),N(t,!0),s.enter(t)):s.leave(t,()=>{N(t,!1)}):N(t,e))},beforeUnmount(t,{value:e}){N(t,e)}};function N(t,e){t.style.display=e?t._vod:"none"}const ot=O({patchProp:zt},Lt);let _,k=!1;function Zt(){return _||(_=mt(ot))}function Jt(){return _=k?_:gt(ot),k=!0,_}const te=(...t)=>{const e=Zt().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=at(s);if(!r)return;const i=e._component;!tt(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},ee=(...t)=>{const e=Jt().createApp(...t),{mount:n}=e;return e.mount=s=>{const r=at(s);if(r)return n(r,!0,r instanceof SVGElement)},e};function at(t){return L(t)?document.querySelector(t):t}export{rt as T,ee as a,te as c,kt as v,Vt as w};