cloudcommerce 0.37.0 → 0.38.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 (262) hide show
  1. package/.github/workflows/test-apps.yml +2 -2
  2. package/.gitmodules +0 -3
  3. package/.vscode/settings.json +1 -2
  4. package/CHANGELOG.md +50 -0
  5. package/action.yml +2 -2
  6. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  7. package/ecomplus-stores/barra-doce/functions/ssr/package.json +6 -6
  8. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  9. package/ecomplus-stores/barra-doce/package.json +2 -2
  10. package/package.json +7 -7
  11. package/packages/api/lib/api.d.ts +2 -2
  12. package/packages/api/package.json +1 -1
  13. package/packages/api/types.d.ts +4 -1
  14. package/packages/apps/affilate-program/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 +1 -1
  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 +1 -1
  22. package/packages/apps/flash-courier/package.json +1 -1
  23. package/packages/apps/frenet/package.json +1 -1
  24. package/packages/apps/galaxpay/package.json +1 -1
  25. package/packages/apps/google-analytics/package.json +1 -1
  26. package/packages/apps/jadlog/package.json +1 -1
  27. package/packages/apps/loyalty-points/package.json +1 -1
  28. package/packages/apps/mandae/package.json +1 -1
  29. package/packages/apps/melhor-envio/package.json +1 -1
  30. package/packages/apps/mercadopago/package.json +1 -1
  31. package/packages/apps/pagarme/package.json +1 -1
  32. package/packages/apps/pagarme-v5/package.json +1 -1
  33. package/packages/apps/paghiper/package.json +1 -1
  34. package/packages/apps/pix/package.json +1 -1
  35. package/packages/apps/tiny-erp/package.json +1 -1
  36. package/packages/apps/webhooks/package.json +1 -1
  37. package/packages/cli/config/firestore.rules +4 -1
  38. package/packages/cli/lib/cli.js +30 -9
  39. package/packages/cli/package.json +2 -1
  40. package/packages/cli/src/cli.ts +37 -9
  41. package/packages/config/package.json +1 -1
  42. package/packages/emails/package.json +1 -1
  43. package/packages/eslint/package.json +3 -3
  44. package/packages/events/package.json +1 -1
  45. package/packages/feeds/package.json +1 -1
  46. package/packages/firebase/package.json +1 -1
  47. package/packages/i18n/package.json +1 -1
  48. package/packages/modules/package.json +1 -1
  49. package/packages/passport/package.json +1 -1
  50. package/packages/ssr/package.json +5 -5
  51. package/packages/storefront/.auto-imports.d.ts +1 -0
  52. package/packages/storefront/client.d.ts +1 -0
  53. package/packages/storefront/config/storefront.tailwind.cjs +21 -20
  54. package/packages/storefront/config/storefront.unocss.cjs +11 -0
  55. package/packages/storefront/dist/client/_astro/{AccountPage.700be123.js → AccountPage.j0C5JBLY.js} +1 -1
  56. package/packages/storefront/dist/client/_astro/{CartSidebar.430b55df.js → CartSidebar.1kUFk9Xn.js} +1 -1
  57. package/packages/storefront/dist/client/_astro/HeroSlider.tR1dVXyu.js +1 -0
  58. package/packages/storefront/dist/client/_astro/{PitchBar.06e0f831.js → PitchBar.FelC04wE.js} +1 -1
  59. package/packages/storefront/dist/client/_astro/{Prices.0e829c31.js → Prices.PuQc6C7F.js} +1 -1
  60. package/packages/storefront/dist/client/_astro/ProductCard.ephJafAE.js +1 -0
  61. package/packages/storefront/dist/client/_astro/ProductDetails.B6Ih5MGf.js +7 -0
  62. package/packages/storefront/dist/client/_astro/ProductShelf.GESxuPZ_.js +1 -0
  63. package/packages/storefront/dist/client/_astro/{QuantitySelector.ebf60845.js → QuantitySelector.YNmWjN8y.js} +1 -1
  64. package/packages/storefront/dist/client/_astro/SearchContainer.BzixfU3R.js +1 -0
  65. package/packages/storefront/dist/client/_astro/SearchModal.F7vbwxIv.js +1 -0
  66. package/packages/storefront/dist/client/_astro/ShopHeader.5vR1LgSW.js +10 -0
  67. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.sk5AFsEV.js +1 -0
  68. package/packages/storefront/dist/client/_astro/_slug_.r8QHNfdw.css +1 -0
  69. package/packages/storefront/dist/client/_astro/client.RF8UxjZd.js +1 -0
  70. package/packages/storefront/dist/client/_astro/customer-session._VkzXnXT.js +7 -0
  71. package/packages/storefront/dist/client/_astro/ecom-utils.gJYgRPRz.js +1 -0
  72. package/packages/storefront/dist/client/_astro/{firebase-app.992a296f.js → firebase-app.cPMfoOsn.js} +1 -1
  73. package/packages/storefront/dist/client/_astro/{format-money.9cf6b04d.js → format-money.FMQXgKHB.js} +1 -1
  74. package/packages/storefront/dist/client/_astro/{hoisted.c90fc6ab.js → hoisted.B6fKrLPR.js} +1 -1
  75. package/packages/storefront/dist/client/_astro/{hoisted.54eaab04.js → hoisted._FbzheVm.js} +1 -1
  76. package/packages/storefront/dist/client/_astro/{i18n.29216eeb.js → i18n.m7SpISxy.js} +1 -1
  77. package/packages/storefront/dist/client/_astro/{img.4f23a3dd.js → img.zh-Drf-O.js} +1 -1
  78. package/packages/storefront/dist/client/_astro/{index-61e5ac61.bdc8d0cd.js → index-dd468b12.D5s8VdAL.js} +92 -107
  79. package/packages/storefront/dist/client/_astro/{index.570b84fe.js → index.5PN-EYMS.js} +1 -1
  80. package/packages/storefront/dist/client/_astro/index.XrHFaN2F.js +1 -0
  81. package/packages/storefront/dist/client/_astro/{modules-info.55780599.js → modules-info.sD0tdb2b.js} +1 -1
  82. package/packages/storefront/dist/client/_astro/name.HU5l7TJo.js +1 -0
  83. package/packages/storefront/dist/client/_astro/{photoswipe-lightbox.esm.c157838f.js → photoswipe-lightbox.esm.dZBqKD9u.js} +1 -1
  84. package/packages/storefront/dist/client/_astro/{photoswipe.01431ec7.js → photoswipe.0V7m2jWu.js} +1 -2
  85. package/packages/storefront/dist/client/_astro/{photoswipe.esm.92c2d901.js → photoswipe.esm.Ylh9TGkz.js} +1 -1
  86. package/packages/storefront/dist/client/_astro/sf-utils.5t7r9A2G.js +1 -0
  87. package/packages/storefront/dist/client/_astro/{shopping-cart.d9f601dd.js → shopping-cart.A-1jhlKi.js} +1 -1
  88. package/packages/storefront/dist/client/_astro/use-analytics.1EVxbrS7.js +1 -0
  89. package/packages/storefront/dist/client/_astro/{use-product-card.437911bb.js → use-product-card.erbOV6Fv.js} +1 -1
  90. package/packages/storefront/dist/client/robots.txt +1 -0
  91. package/packages/storefront/dist/server/chunks/{CartSidebar_eab28771.mjs → CartSidebar_hAgJQJgm.mjs} +1 -1
  92. package/packages/storefront/dist/server/chunks/SearchModal_eWb5SdQM.mjs +351 -0
  93. package/packages/storefront/dist/server/chunks/{_.._5a781fb3.mjs → _.._S7DDBn_b.mjs} +1 -1
  94. package/packages/storefront/dist/server/chunks/{account_519edb70.mjs → account_3ySmGzMc.mjs} +1 -1
  95. package/packages/storefront/dist/server/chunks/astro/{assets-service_a9d9ab5f.mjs → assets-service_QlOZG8ov.mjs} +1 -1
  96. package/packages/storefront/dist/server/chunks/{astro_d98f7186.mjs → astro_zcC1GStV.mjs} +17 -34
  97. package/packages/storefront/dist/server/chunks/{index_5e3ed8a0.mjs → index_nIwq11oA.mjs} +1 -1
  98. package/packages/storefront/dist/server/chunks/{index_10e14f85.mjs → index_uAR5ZV4d.mjs} +1 -1
  99. package/packages/storefront/dist/server/chunks/{node_1119b0d1.mjs → node_2VvC7trl.mjs} +1 -1
  100. package/packages/storefront/dist/server/chunks/pages/{__93ade2dd.mjs → __MSibDuuV.mjs} +652 -255
  101. package/packages/storefront/dist/server/chunks/pages/{account_e5d410a7.mjs → account_iG-YqJ5q.mjs} +3 -2
  102. package/packages/storefront/dist/server/chunks/pages/{index_7e25afc1.mjs → index_BtDyKPh_.mjs} +3 -2
  103. package/packages/storefront/dist/server/chunks/pages/{node_bd378ac0.mjs → node_bKqL47eZ.mjs} +2 -2
  104. package/packages/storefront/dist/server/chunks/pages/{~fallback_73578d2f.mjs → ~fallback_73R5VA6j.mjs} +3 -2
  105. package/packages/storefront/dist/server/chunks/{photoswipe_9528923e.mjs → photoswipe_IcWDJiwc.mjs} +1 -1
  106. package/packages/storefront/dist/server/chunks/{~fallback_41122b9b.mjs → ~fallback_7q1dqY4e.mjs} +1 -1
  107. package/packages/storefront/dist/server/entry.mjs +970 -93
  108. package/packages/storefront/dist/server/manifest_dSwvaOdW.mjs +195 -0
  109. package/packages/storefront/dist/server/renderers.mjs +2 -2
  110. package/packages/storefront/package.json +13 -13
  111. package/packages/storefront/src/helpers/sf-utils.ts +37 -6
  112. package/packages/storefront/src/lib/composables/use-search-container.ts +48 -0
  113. package/packages/storefront/src/lib/composables/use-search-modal.ts +31 -27
  114. package/packages/storefront/src/lib/composables/use-shop-header.ts +78 -1
  115. package/packages/storefront/src/lib/composables/use-sticky-header.ts +2 -0
  116. package/packages/storefront/src/lib/layouts/BaseHead.astro +8 -1
  117. package/packages/storefront/src/lib/layouts/use-page-main.ts +15 -0
  118. package/packages/storefront/src/lib/scripts/firestore.ts +27 -0
  119. package/packages/storefront/src/lib/ssr-context.ts +14 -0
  120. package/packages/storefront/src/lib/state/search-engine.ts +80 -27
  121. package/packages/storefront/src/lib/state/use-analytics.ts +36 -21
  122. package/packages/test-base/package.json +1 -1
  123. package/packages/types/package.json +1 -1
  124. package/ecomplus-stores/monocard/.devcontainer/devcontainer.json +0 -30
  125. package/ecomplus-stores/monocard/.editorconfig +0 -13
  126. package/ecomplus-stores/monocard/.eslintrc.cjs +0 -3
  127. package/ecomplus-stores/monocard/.firebaserc +0 -5
  128. package/ecomplus-stores/monocard/.github/build-and-deploy +0 -1
  129. package/ecomplus-stores/monocard/.github/renovate.json +0 -5
  130. package/ecomplus-stores/monocard/.github/workflows/build-and-deploy.yml +0 -37
  131. package/ecomplus-stores/monocard/.github/workflows/calibreapp-image-actions.yml +0 -23
  132. package/ecomplus-stores/monocard/.gitpod.yml +0 -12
  133. package/ecomplus-stores/monocard/.idx/dev.nix +0 -24
  134. package/ecomplus-stores/monocard/.nvmrc +0 -1
  135. package/ecomplus-stores/monocard/.vscode/extensions.json +0 -8
  136. package/ecomplus-stores/monocard/.vscode/launch.json +0 -11
  137. package/ecomplus-stores/monocard/.vscode/settings.json +0 -13
  138. package/ecomplus-stores/monocard/LICENSE.md +0 -230
  139. package/ecomplus-stores/monocard/README.md +0 -31
  140. package/ecomplus-stores/monocard/SETUP.md +0 -129
  141. package/ecomplus-stores/monocard/SETUP.pt-BR.md +0 -129
  142. package/ecomplus-stores/monocard/functions/config.json +0 -3
  143. package/ecomplus-stores/monocard/functions/example.env +0 -10
  144. package/ecomplus-stores/monocard/functions/many/index.js +0 -14
  145. package/ecomplus-stores/monocard/functions/many/package.json +0 -22
  146. package/ecomplus-stores/monocard/functions/ssr/.eslintrc.cjs +0 -6
  147. package/ecomplus-stores/monocard/functions/ssr/astro.config.mjs +0 -4
  148. package/ecomplus-stores/monocard/functions/ssr/content/blog/.gitkeep +0 -0
  149. package/ecomplus-stores/monocard/functions/ssr/content/extra-pages/terms.json +0 -11
  150. package/ecomplus-stores/monocard/functions/ssr/content/extra-pages/trocas.json +0 -11
  151. package/ecomplus-stores/monocard/functions/ssr/content/layout.json +0 -52
  152. package/ecomplus-stores/monocard/functions/ssr/content/pages/home.json +0 -20
  153. package/ecomplus-stores/monocard/functions/ssr/content/pages/products.json +0 -18
  154. package/ecomplus-stores/monocard/functions/ssr/content/settings.json +0 -78
  155. package/ecomplus-stores/monocard/functions/ssr/index.js +0 -18
  156. package/ecomplus-stores/monocard/functions/ssr/package.json +0 -36
  157. package/ecomplus-stores/monocard/functions/ssr/public/admin/.gitkeep +0 -0
  158. package/ecomplus-stores/monocard/functions/ssr/public/assets/lotties/img_1.png +0 -0
  159. package/ecomplus-stores/monocard/functions/ssr/public/assets/lotties/img_1.webp +0 -0
  160. package/ecomplus-stores/monocard/functions/ssr/public/assets/lotties/phone-nfc.json +0 -1
  161. package/ecomplus-stores/monocard/functions/ssr/public/img/icon.png +0 -0
  162. package/ecomplus-stores/monocard/functions/ssr/public/img/large-icon.png +0 -0
  163. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/card-phone.png +0 -0
  164. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/devices.jpg +0 -0
  165. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
  166. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/edit-suit.jpg +0 -0
  167. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/favicon.png +0 -0
  168. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/icon.png +0 -0
  169. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/large-icon.png +0 -0
  170. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-arcelor-mittal.webp +0 -0
  171. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-azul.webp +0 -0
  172. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-banco-pan.webp +0 -0
  173. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-brinks.webp +0 -0
  174. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-mastercard.webp +0 -0
  175. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-pfizer.webp +0 -0
  176. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-prudential.webp +0 -0
  177. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo-unimed.webp +0 -0
  178. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/logo.webp +0 -0
  179. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/mockup-editar.png +0 -0
  180. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/og-image.png +0 -0
  181. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/padronagem-tilada.png +0 -0
  182. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/qrcode-camera.png +0 -0
  183. package/ecomplus-stores/monocard/functions/ssr/public/img/uploads/sua-logo-aqui.png +0 -0
  184. package/ecomplus-stores/monocard/functions/ssr/public/robots.txt +0 -6
  185. package/ecomplus-stores/monocard/functions/ssr/scripts/build.sh +0 -14
  186. package/ecomplus-stores/monocard/functions/ssr/src/assets/card.css +0 -99
  187. package/ecomplus-stores/monocard/functions/ssr/src/assets/style.css +0 -79
  188. package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +0 -97
  189. package/ecomplus-stores/monocard/functions/ssr/src/components/AccountPage.vue +0 -62
  190. package/ecomplus-stores/monocard/functions/ssr/src/components/Banner.vue +0 -59
  191. package/ecomplus-stores/monocard/functions/ssr/src/components/BannersGrid.astro +0 -25
  192. package/ecomplus-stores/monocard/functions/ssr/src/components/Breadcrumbs.astro +0 -44
  193. package/ecomplus-stores/monocard/functions/ssr/src/components/CartItem.vue +0 -64
  194. package/ecomplus-stores/monocard/functions/ssr/src/components/CartSidebar.vue +0 -69
  195. package/ecomplus-stores/monocard/functions/ssr/src/components/CasesGrid.astro +0 -49
  196. package/ecomplus-stores/monocard/functions/ssr/src/components/CheckoutPage.vue +0 -33
  197. package/ecomplus-stores/monocard/functions/ssr/src/components/Collapse.vue +0 -19
  198. package/ecomplus-stores/monocard/functions/ssr/src/components/DemoVideo.vue +0 -10
  199. package/ecomplus-stores/monocard/functions/ssr/src/components/DocDescription.vue +0 -28
  200. package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.vue +0 -286
  201. package/ecomplus-stores/monocard/functions/ssr/src/components/FeaturesSection.astro +0 -28
  202. package/ecomplus-stores/monocard/functions/ssr/src/components/FooterStamps.vue +0 -63
  203. package/ecomplus-stores/monocard/functions/ssr/src/components/ImagesGallery.vue +0 -154
  204. package/ecomplus-stores/monocard/functions/ssr/src/components/LoginForm.vue +0 -107
  205. package/ecomplus-stores/monocard/functions/ssr/src/components/LottiePhoneNFC.vue +0 -20
  206. package/ecomplus-stores/monocard/functions/ssr/src/components/MonocardCustomizer.vue +0 -261
  207. package/ecomplus-stores/monocard/functions/ssr/src/components/PitchBar.vue +0 -61
  208. package/ecomplus-stores/monocard/functions/ssr/src/components/Prices.vue +0 -95
  209. package/ecomplus-stores/monocard/functions/ssr/src/components/ProductCard.vue +0 -117
  210. package/ecomplus-stores/monocard/functions/ssr/src/components/ProductDetails.vue +0 -122
  211. package/ecomplus-stores/monocard/functions/ssr/src/components/ProductShelf.vue +0 -57
  212. package/ecomplus-stores/monocard/functions/ssr/src/components/ProductSpecifications.vue +0 -42
  213. package/ecomplus-stores/monocard/functions/ssr/src/components/SearchModal.vue +0 -6
  214. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopFooter.vue +0 -71
  215. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeader.vue +0 -137
  216. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeaderMenu.vue +0 -92
  217. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenav.vue +0 -64
  218. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenavCategory.vue +0 -77
  219. package/ecomplus-stores/monocard/functions/ssr/src/components/SkuSelector.vue +0 -58
  220. package/ecomplus-stores/monocard/functions/ssr/src/env.d.ts +0 -13
  221. package/ecomplus-stores/monocard/functions/ssr/src/layouts/Base.astro +0 -15
  222. package/ecomplus-stores/monocard/functions/ssr/src/layouts/PageFooter.astro +0 -53
  223. package/ecomplus-stores/monocard/functions/ssr/src/layouts/PageHeader.astro +0 -35
  224. package/ecomplus-stores/monocard/functions/ssr/src/main/Fallback.astro +0 -10
  225. package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +0 -95
  226. package/ecomplus-stores/monocard/functions/ssr/src/main/Sections.astro +0 -52
  227. package/ecomplus-stores/monocard/functions/ssr/src/main/Wildcard.astro +0 -18
  228. package/ecomplus-stores/monocard/functions/ssr/src/pages/[...slug].astro +0 -42
  229. package/ecomplus-stores/monocard/functions/ssr/src/pages/_vue.ts +0 -10
  230. package/ecomplus-stores/monocard/functions/ssr/src/pages/app/account.astro +0 -34
  231. package/ecomplus-stores/monocard/functions/ssr/src/pages/app/index.astro +0 -62
  232. package/ecomplus-stores/monocard/functions/ssr/src/pages/comprar/index.astro +0 -52
  233. package/ecomplus-stores/monocard/functions/ssr/src/pages/index.astro +0 -32
  234. package/ecomplus-stores/monocard/functions/ssr/src/pages/~fallback.astro +0 -23
  235. package/ecomplus-stores/monocard/functions/ssr/src/scripts/InlineScripts.astro +0 -10
  236. package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +0 -18
  237. package/ecomplus-stores/monocard/functions/ssr/tsconfig.json +0 -12
  238. package/ecomplus-stores/monocard/functions/ssr/uno.config.cjs +0 -5
  239. package/ecomplus-stores/monocard/functions/with-apps/index.js +0 -12
  240. package/ecomplus-stores/monocard/functions/with-apps/package.json +0 -22
  241. package/ecomplus-stores/monocard/package.json +0 -31
  242. package/ecomplus-stores/monocard/scripts/install.sh +0 -24
  243. package/packages/storefront/dist/client/_astro/HeroSlider.bd684ed8.js +0 -1
  244. package/packages/storefront/dist/client/_astro/ProductDetails.06da998d.js +0 -1
  245. package/packages/storefront/dist/client/_astro/ProductShelf.3f4f38b5.js +0 -1
  246. package/packages/storefront/dist/client/_astro/ProductShelf.bf82838b.js +0 -1
  247. package/packages/storefront/dist/client/_astro/SearchModal.b6aa5ef7.js +0 -1
  248. package/packages/storefront/dist/client/_astro/ShopHeader.2d6e361a.js +0 -4
  249. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.f75743ee.js +0 -1
  250. package/packages/storefront/dist/client/_astro/_slug_.e7cac999.css +0 -1
  251. package/packages/storefront/dist/client/_astro/client.41b42098.js +0 -1
  252. package/packages/storefront/dist/client/_astro/customer-session.5ab9ab1a.js +0 -1
  253. package/packages/storefront/dist/client/_astro/ecom-utils.5cbfb95e.js +0 -1
  254. package/packages/storefront/dist/client/_astro/index.8ac1db99.js +0 -1
  255. package/packages/storefront/dist/client/_astro/name.01410784.js +0 -1
  256. package/packages/storefront/dist/client/_astro/sf-utils.b04e1813.js +0 -1
  257. package/packages/storefront/dist/client/_astro/use-analytics.cc95e346.js +0 -1
  258. package/packages/storefront/dist/server/chunks/SearchModal_f66549d4.mjs +0 -147
  259. package/packages/storefront/dist/server/manifest_221d806b.mjs +0 -1069
  260. /package/packages/storefront/dist/client/_astro/{afetch.f4507208.js → afetch.5c8VmT0-.js} +0 -0
  261. /package/packages/storefront/dist/client/_astro/{img-sizes.41e0efe4.js → img-sizes.gxAI9JNh.js} +0 -0
  262. /package/packages/storefront/dist/client/_astro/{price.04ceb6c4.js → price.Easct8WC.js} +0 -0
@@ -1,57 +0,0 @@
1
- <template>
2
- <section class="ui-section">
3
- <div v-if="title" class="mx-auto mb-2 max-w-prose text-center">
4
- <h2 class="ui-text-brand text-3xl">
5
- <ALink :href="titleLink" :class="titleLink ? 'ui-link' : 'text-base-700'">
6
- {{ title }}
7
- </ALink>
8
- </h2>
9
- </div>
10
- <Carousel class="group/shelf [&>ul]:justify-center">
11
- <li
12
- v-for="product in products"
13
- :key="product._id"
14
- class="shrink-0 basis-1/2 lg:basis-1/3"
15
- >
16
- <ProductCard :product="product" />
17
- </li>
18
- <template #controls>
19
- <div
20
- v-show="products.length > 2"
21
- class="text-primary text-3xl leading-none transition-opacity
22
- group-hover/shelf:opacity-90 lg:text-2xl lg:opacity-0"
23
- >
24
- <CarouselControl class="lg:hover:bg-primary-300/60 !-left-4 !top-1/2 h-12
25
- w-12 rounded-full bg-transparent ring-black/5
26
- lg:bg-white/80 lg:shadow-sm lg:ring-1" is-prev />
27
- <CarouselControl class="lg:hover:bg-primary-300/60 !-right-4 !top-1/2 h-12
28
- w-12 rounded-full bg-transparent ring-black/5
29
- lg:bg-white/80 lg:shadow-sm lg:ring-1" />
30
- </div>
31
- </template>
32
- </Carousel>
33
- </section>
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import {
38
- type Props as UseProductShelfProps,
39
- useProductShelf,
40
- } from '@@sf/composables/use-product-shelf';
41
- import Carousel from '@@sf/components/Carousel.vue';
42
- import CarouselControl from '@@sf/components/CarouselControl.vue';
43
- import ProductCard from '~/components/ProductCard.vue';
44
-
45
- export interface Props extends UseProductShelfProps {}
46
-
47
- const props = defineProps<Props>();
48
- const {
49
- title,
50
- titleLink,
51
- fetching,
52
- products,
53
- } = useProductShelf(props);
54
- if (import.meta.env.SSR) {
55
- await fetching;
56
- }
57
- </script>
@@ -1,42 +0,0 @@
1
- <template>
2
- <section v-if="hasSpecs" class="ui-section">
3
- <Collapse :title="title || $t.i19specifications">
4
- <ul>
5
- <li
6
- v-for="(grid, gridId) in specifications"
7
- :key="gridId"
8
- class="border-base-200 grid grid-cols-2
9
- border-dashed py-2 sm:grid-cols-3 [&:not(:last-child)]:border-b"
10
- >
11
- <span class="text-base-700">
12
- {{ getGridTitle(`${gridId}`, grids) }}
13
- </span>
14
- <strong class="font-semibold sm:col-span-2">
15
- {{ getSpecTextValue(product, `${gridId}`, grids) }}
16
- </strong>
17
- </li>
18
- </ul>
19
- </Collapse>
20
- </section>
21
- </template>
22
-
23
- <script setup lang="ts">
24
- import type { Products } from '@cloudcommerce/api/types';
25
- import {
26
- gridTitle as getGridTitle,
27
- specTextValue as getSpecTextValue,
28
- } from '@ecomplus/utils';
29
- import Collapse from '~/components/Collapse.vue';
30
-
31
- export interface Props {
32
- product?: Products;
33
- title?: string;
34
- }
35
-
36
- const props = withDefaults(defineProps<Props>(), {
37
- product: () => globalThis.$storefront.apiContext?.doc as Products,
38
- });
39
- const specifications = computed(() => props.product.specifications || {});
40
- const hasSpecs = computed(() => Object.keys(specifications.value).length);
41
- const { grids } = globalThis.$storefront.data;
42
- </script>
@@ -1,6 +0,0 @@
1
- <template>
2
- <div class="bg-base-300 h-40 w-full"></div>
3
- </template>
4
-
5
- <script setup lang="ts">
6
- </script>
@@ -1,71 +0,0 @@
1
- <template>
2
- <footer class="text-base-300 border-base-100 w-screen border-t bg-black py-2">
3
- <div class="ui-section">
4
- <div class="border-base-200 flex flex-wrap
5
- justify-between gap-y-5 border-b pb-7 sm:gap-x-10 lg:flex-nowrap">
6
- <div class="shrink">
7
- <slot name="logo" />
8
- <div v-if="$settings.description" class="prose prose-invert">
9
- <p>{{ $settings.description }}</p>
10
- </div>
11
- <div class="text-base-400 flex gap-2">
12
- <span v-for="(href, network) in socialNetworks" :key="network">
13
- <SocialNetworkLink :network="network" class="hover:text-primary p-1">
14
- <template v-if="network === 'whatsapp'" #append>
15
- <span class="text-base-300 ml-1 text-sm">
16
- {{ $settings.whatsapp }}
17
- </span>
18
- </template>
19
- </SocialNetworkLink>
20
- </span>
21
- </div>
22
- <div v-if="$settings.phone" class="text-base-200 mt-3">
23
- <ALink
24
- v-if="$settings.phone"
25
- :href="`tel:${$settings.phone.replace(/\D/g, '')}`"
26
- class="hover:text-primary"
27
- >
28
- <i class="i-phone mr-0.5"></i>
29
- {{ $settings.phone }}
30
- </ALink>
31
- </div>
32
- </div>
33
- <div v-if="pageLinks?.length" class="basis-1/2 sm:basis-auto">
34
- <div class="mb-2.5 text-lg font-medium">
35
- {{ pagesColTitle || $t.i19institutional }}
36
- </div>
37
- <ul
38
- class="text-sm"
39
- :class="pageLinks.length > 5
40
- ? 'grid md:grid-cols-2 gap-x-5 gap-y-1.5' : 'space-y-1.5'"
41
- >
42
- <li v-for="({ title, href }, i) in pageLinks" :key="`p-${i}`">
43
- <ALink :href="href" class="ui-link text-base-50">
44
- {{ title }}
45
- </ALink>
46
- </li>
47
- </ul>
48
- </div>
49
- </div>
50
- </div>
51
- <FooterStamps :stamps="stamps" />
52
- </footer>
53
- </template>
54
-
55
- <script setup lang="ts">
56
- import type { LayoutContent } from '@@sf/content';
57
- import { socialNetworks } from '@@sf/sf-lib';
58
- import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
59
- import FooterStamps from '~/components/FooterStamps.vue';
60
-
61
- export interface Props {
62
- stamps?: LayoutContent['footer']['stamps'];
63
- pageLinks?: Array<{
64
- title: string;
65
- href: string;
66
- }>;
67
- pagesColTitle?: string;
68
- }
69
-
70
- defineProps<Props>();
71
- </script>
@@ -1,137 +0,0 @@
1
- <template>
2
- <header
3
- ref="header"
4
- class="relative top-0 z-50 transition-colors"
5
- :class="[
6
- isSticky && !isSidenavOpen ? 'bg-black/80' : 'bg-black',
7
- isSticky ? 'py-2 shadow backdrop-blur-md md:py-3' : 'py-3 sm:py-4 md:py-5',
8
- ]"
9
- >
10
- <div class="container mx-auto flex grid-flow-col
11
- grid-cols-3 items-center justify-between
12
- px-1 md:grid lg:max-w-4xl lg:auto-cols-max lg:grid-cols-none lg:pl-3
13
- xl:max-w-6xl 2xl:max-w-7xl">
14
- <div class="basis-1/4 lg:hidden">
15
- <button
16
- class="my-1 px-2"
17
- :aria-label="$t.i19toggleMenu"
18
- @click="isSidenavOpen = !isSidenavOpen"
19
- >
20
- <i
21
- class="text-3xl transition-colors"
22
- :class="[
23
- isSidenavOpen ? 'i-close' : 'i-menu-3-line',
24
- isMounted ? 'text-base-100' : 'text-base-300 animate-pulse',
25
- ]"
26
- ></i>
27
- </button>
28
- </div>
29
- <slot name="logo" />
30
- <ShopHeaderMenu
31
- class="hidden lg:block"
32
- v-bind="{ isSticky, ...headerNavLinks }"
33
- />
34
- <div class="flex basis-1/4 items-center justify-end gap-3 px-2 lg:gap-4">
35
- <AccountMenu class="hidden sm:block">
36
- <template #button="{ open }">
37
- <i
38
- class="i-account-pin-circle-line hover:text-primary h-7
39
- w-7 hover:scale-110 active:scale-125"
40
- :class="open ? 'text-white scale-110' : 'text-base-200'"
41
- ></i>
42
- </template>
43
- </AccountMenu>
44
- <a
45
- :href="$settings.cartUrl || '/app/'"
46
- :aria-label="$t.i19openCart"
47
- @click.prevent="isCartOpen = !isCartOpen"
48
- class="group relative"
49
- role="button"
50
- >
51
- <i class="i-shopping-bag-3-line text-base-200 hover:text-primary
52
- h-7 w-7 hover:scale-110 active:scale-125"></i>
53
- <span
54
- v-if="delayedTotalItems"
55
- class="ui-badge-pill-sm absolute -right-1.5 -top-1"
56
- >
57
- {{ delayedTotalItems }}
58
- </span>
59
- </a>
60
- </div>
61
- </div>
62
- <Drawer
63
- v-model="isSidenavOpen"
64
- :has-close-button="false"
65
- position="absolute"
66
- :class="isSticky ? 'mt-2 md:mt-3' : 'mt-3 sm:mt-4 md:mt-5'"
67
- :style="{
68
- height: `calc(100vh - ${positionY}px + .5rem)`,
69
- maxHeight: `calc(100dvh - ${positionY}px + .5rem)`,
70
- }"
71
- >
72
- <ShopSidenav class="bg-white pt-6" />
73
- </Drawer>
74
- <Teleport v-if="isMounted" to="#teleported-overlap">
75
- <Drawer
76
- v-model="isCartOpen"
77
- placement="end"
78
- backdrop-target="#teleported-overlap"
79
- >
80
- <Suspense>
81
- <CartSidebar v-if="isCartOpenOnce" @close="isCartOpen = false" />
82
- <template #fallback>
83
- <Skeleton class="px-6 pt-16" is-bold />
84
- </template>
85
- </Suspense>
86
- </Drawer>
87
- </Teleport>
88
- </header>
89
- </template>
90
-
91
- <script setup lang="ts">
92
- import { watchOnce } from '@vueuse/core';
93
- import { totalItems } from '@@sf/state/shopping-cart';
94
- import {
95
- type Props as UseShopHeaderProps,
96
- useShopHeader,
97
- } from '@@sf/composables/use-shop-header';
98
- import Drawer from '@@sf/components/Drawer.vue';
99
- import ShopSidenav from '~/components/ShopSidenav.vue';
100
- import ShopHeaderMenu from '~/components/ShopHeaderMenu.vue';
101
- import AccountMenu from '~/components/AccountMenu.vue';
102
-
103
- export interface Props extends Omit<UseShopHeaderProps, 'header'> {}
104
-
105
- const CartSidebar = defineAsyncComponent(() => import('~/components/CartSidebar.vue'));
106
- const props = defineProps<Props>();
107
- const header = ref<HTMLElement | null>(null);
108
- const { isSticky, positionY } = useShopHeader({ ...props, header });
109
- const isSidenavOpen = ref(false);
110
- const isCartOpen = ref(false);
111
- const isCartOpenOnce = ref(false);
112
- watchOnce(isCartOpen, () => {
113
- isCartOpenOnce.value = true;
114
- });
115
- const isMounted = ref(false);
116
- const delayedTotalItems = ref(0);
117
- onMounted(() => {
118
- isMounted.value = true;
119
- watch(totalItems, (newTotalItems, prevTotalItems) => {
120
- if (typeof prevTotalItems === 'number') {
121
- if (prevTotalItems < newTotalItems) {
122
- isCartOpen.value = true;
123
- } else if (prevTotalItems && !newTotalItems) {
124
- isCartOpen.value = false;
125
- }
126
- }
127
- delayedTotalItems.value = newTotalItems;
128
- }, { immediate: true });
129
- });
130
- const headerNavLinks = {
131
- supportUrl: '',
132
- businessLpUrl: '',
133
- monocardSlug: '',
134
- monodotSlug: '',
135
- ...globalThis.$storefront.settings.metafields,
136
- };
137
- </script>
@@ -1,92 +0,0 @@
1
- <template>
2
- <nav class="font-brand text-base-100 text-lg lowercase">
3
- <ul class="flex items-center gap-6 xl:gap-7">
4
- <li>
5
- <ALink
6
- :href="supportUrl"
7
- class="decoration-2 underline-offset-4 hover:text-white hover:underline"
8
- >
9
- {{ $t.i19help }}
10
- </ALink>
11
- </li>
12
- <li>
13
- <a
14
- :href="businessLpUrl"
15
- class="hover:text-primary decoration-primary text-white
16
- underline decoration-2 underline-offset-4"
17
- >
18
- <i class="i-stack-line mr-1.5 opacity-50"></i>
19
- <h4 class="inline">Para empresas e times</h4>
20
- </a>
21
- </li>
22
- <li>
23
- <Menu as="div" v-slot="{ open }" class="relative z-50">
24
- <MenuButton
25
- class="group rounded-full py-1 pl-4 pr-3 lowercase"
26
- :class="isSticky
27
- ? 'bg-primary/20 text-primary hover:primary'
28
- : 'primary hover:bg-primary-50'"
29
- >
30
- <span>{{ $t.i19buy }}</span>
31
- <i
32
- class="i-arrow-down-s-line ml-1 transition-transform"
33
- :class="open ? 'rotate-180' : 'opacity-50'"
34
- ></i>
35
- </MenuButton>
36
- <Fade>
37
- <MenuItems
38
- as="ul"
39
- class="absolute -left-7 mt-3 w-48 overflow-hidden rounded-b-md
40
- bg-black/80 text-white shadow backdrop-blur-md"
41
- >
42
- <MenuItem as="li">
43
- <a
44
- :href="`/${monocardSlug}`"
45
- class="flex gap-3 px-5 py-2.5 hover:bg-black"
46
- >
47
- <h4 class="basis-4/6 text-right">
48
- <span class="opacity-70">Mono</span>card
49
- </h4>
50
- <span class="basis-2/6 opacity-80">
51
- <i class="i-qr-code-line"></i>
52
- <i class="i-signal-tower-fill ml-1.5"></i>
53
- </span>
54
- </a>
55
- <a
56
- :href="`${monodotSlug}`"
57
- class="flex gap-3 px-5 py-2.5 hover:bg-black"
58
- >
59
- <h4 class="basis-4/6 text-right">
60
- <span class="opacity-70">Mono</span>dot
61
- </h4>
62
- <span class="basis-2/6 opacity-80">
63
- <i class="i-qr-code-line"></i>
64
- </span>
65
- </a>
66
- </MenuItem>
67
- </MenuItems>
68
- </Fade>
69
- </Menu>
70
- </li>
71
- </ul>
72
- </nav>
73
- </template>
74
-
75
- <script setup lang="ts">
76
- import {
77
- Menu,
78
- MenuButton,
79
- MenuItems,
80
- MenuItem,
81
- } from '@headlessui/vue';
82
-
83
- export interface Props {
84
- isSticky?: boolean;
85
- monocardSlug: string;
86
- monodotSlug: string;
87
- supportUrl: string;
88
- businessLpUrl: string;
89
- }
90
-
91
- defineProps<Props>();
92
- </script>
@@ -1,64 +0,0 @@
1
- <template>
2
- <aside class="flex h-full flex-col">
3
- <nav class="grow py-4">
4
- <ul class="relative h-full">
5
- <ShopSidenavCategory
6
- v-for="categoryTree in categoryTrees"
7
- :key="categoryTree._id"
8
- :category-tree="categoryTree"
9
- />
10
- </ul>
11
- </nav>
12
- <footer class="text-base">
13
- <div class="bg-base-100 flex items-center px-2 py-4">
14
- <AccountLink class="flex grow items-center gap-3 p-2">
15
- <i class="i-account-pin-circle-line text-base-500 m-0 text-4xl"></i>
16
- <span class="leading-tight">
17
- {{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
18
- <small class="text-primary block font-semibold lowercase">
19
- {{ $t.i19myOrders }}, {{ $t.i19myAccount }}
20
- </small>
21
- </span>
22
- </AccountLink>
23
- <button
24
- v-if="isLogged"
25
- @click="logout"
26
- class="text-base-800 p-2 text-right"
27
- >
28
- <span class="text-base-600">{{ $t.i19logout }}</span>
29
- <i class="i-logout-circle-r-line ml-1 text-lg"></i>
30
- </button>
31
- </div>
32
- <ul class="bg-base-200 text-base-700 flex gap-3 p-4 text-xl">
33
- <li v-for="(href, network) in socialNetworks" :key="network">
34
- <SocialNetworkLink :network="network" class="active:text-primary p-1" />
35
- </li>
36
- </ul>
37
- </footer>
38
- </aside>
39
- </template>
40
-
41
- <script setup lang="ts">
42
- import type { CategoryTree } from '@@sf/composables/use-shop-header';
43
- import {
44
- customerName,
45
- initializeFirebaseAuth,
46
- isLogged,
47
- logout,
48
- } from '@@sf/state/customer-session';
49
- import { socialNetworks } from '@@sf/sf-lib';
50
- import AccountLink from '@@sf/components/AccountLink.vue';
51
- import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
52
- import ShopSidenavCategory from '~/components/ShopSidenavCategory.vue';
53
-
54
- export interface Props {
55
- categoryTrees?: CategoryTree[];
56
- }
57
-
58
- withDefaults(defineProps<Props>(), {
59
- categoryTrees() {
60
- return [];
61
- },
62
- });
63
- onMounted(() => initializeFirebaseAuth());
64
- </script>
@@ -1,77 +0,0 @@
1
- <template>
2
- <li class="text-base-800 text-lg">
3
- <details
4
- v-if="categoryTree.subcategories.length"
5
- class="z-10 overflow-y-auto overflow-x-hidden bg-white
6
- open:absolute open:left-0 open:top-0 open:h-full open:w-full"
7
- @toggle="isOpen = !isOpen"
8
- >
9
- <summary
10
- class="active:bg-base-100 cursor-pointer list-none px-6 py-3 transition-colors"
11
- :class="isOpen ? 'bg-base-100' : null"
12
- >
13
- <i :class="!isOpen
14
- ? 'i-arrow-right-line float-right mb-0 mt-1 text-xl text-base-500'
15
- : 'i-arrow-right-line text-lg rotate-180'"></i>
16
- <AImg
17
- v-if="!isOpen && categoryTree.icon"
18
- :picture="categoryTree.icon"
19
- class="mr-3 inline h-5 w-auto"
20
- />
21
- <h3 class="inline" :class="isOpen ? 'ml-4 text-base' : null">
22
- {{ categoryTree.name }}
23
- </h3>
24
- </summary>
25
- <ul
26
- class="mt-2 transition-opacity"
27
- :class="isFaded ? 'opacity-20' : 'opacity-100'"
28
- tabindex="-1"
29
- >
30
- <ShopSidenavCategory
31
- v-for="subcategoryTree in categoryTree.subcategories"
32
- :key="subcategoryTree._id"
33
- :category-tree="subcategoryTree"
34
- />
35
- <li>
36
- <a
37
- :href="`/${categoryTree.slug}`"
38
- class="active:bg-base-200 block px-6 py-3 text-base underline"
39
- >
40
- {{ $t.i19seeAll$1Category.replace('$1', categoryTree.name) }}
41
- </a>
42
- </li>
43
- </ul>
44
- </details>
45
- <a
46
- v-else
47
- :href="`/${categoryTree.slug}`"
48
- class="active:bg-base-200 block px-6 py-3"
49
- >
50
- <AImg
51
- v-if="!isOpen && categoryTree.icon"
52
- :picture="categoryTree.icon"
53
- class="mr-3 inline h-5 w-auto"
54
- />
55
- <h3 class="inline">{{ categoryTree.name }}</h3>
56
- </a>
57
- </li>
58
- </template>
59
-
60
- <script setup lang="ts">
61
- import type { CategoryTree, SubcategoryTree } from '@@sf/composables/use-shop-header';
62
-
63
- export interface Props {
64
- categoryTree: CategoryTree | SubcategoryTree;
65
- }
66
-
67
- defineProps<Props>();
68
- const isOpen = ref(false);
69
- const isFaded = ref(true);
70
- watch(isOpen, (_isOpen) => {
71
- if (_isOpen) {
72
- setTimeout(() => { isFaded.value = false; }, 25);
73
- } else {
74
- isFaded.value = true;
75
- }
76
- });
77
- </script>
@@ -1,58 +0,0 @@
1
- <template>
2
- <div>
3
- <div v-for="(options, gridId) in variationsGrids" :key="gridId">
4
- <span class="text-base-700 text-sm font-medium">
5
- {{ getGridTitle(gridId) }}:
6
- <strong v-if="selectedOptions[gridId]" class="text-base-800">
7
- {{ selectedOptions[gridId] }}
8
- </strong>
9
- </span>
10
- <ul v-if="options.length < 7" class="mt-2 flex gap-2">
11
- <li v-for="(optionText, i) in options" :key="`${gridId}-${i}`">
12
- <button
13
- class="ring-secondary/60 rounded border"
14
- :class="[
15
- selectedOptions[gridId] === optionText
16
- ? 'border-secondary ring-2'
17
- : null,
18
- gridId === 'colors'
19
- ? 'h-9 w-9 text-[0]'
20
- : 'px-2 py-1',
21
- activeVariationsGrids[gridId].includes(optionText)
22
- ? 'text-base-800 bg-base-100 border-base-400'
23
- : 'text-base-500 bg-base-200 border-base-300'
24
- ]"
25
- :style="gridId === 'colors' ? getColorOptionBg(optionText) : undefined"
26
- @click="selectOption({ optionText, gridId, gridIndex: i })"
27
- >
28
- {{ optionText }}
29
- </button>
30
- </li>
31
- </ul>
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <script setup lang="ts">
37
- import {
38
- type Props as UseSkuSelector,
39
- useSkuSelector,
40
- } from '@@sf/composables/use-sku-selector';
41
-
42
- export interface Props extends UseSkuSelector {}
43
-
44
- const props = defineProps<Props>();
45
- const emit = defineEmits(['update:variationId']);
46
- const {
47
- variationsGrids,
48
- activeVariationsGrids,
49
- selectOption,
50
- selectedOptions,
51
- variationId,
52
- getGridTitle,
53
- getColorOptionBg,
54
- } = useSkuSelector(props);
55
- watch(variationId, (_id) => {
56
- emit('update:variationId', _id);
57
- });
58
- </script>
@@ -1,13 +0,0 @@
1
- /// <reference types="@astrojs/image/client" />
2
- /// <reference types="vite-plugin-pwa/client" />
3
- /// <reference types="vue/ref-macros" />
4
- /// <reference types="@cloudcommerce/storefront/client" />
5
- /// <reference types="@cloudcommerce/storefront/server" />
6
-
7
- /* eslint-disable import/newline-after-import */
8
-
9
- declare module '*.vue' {
10
- import { type DefineComponent } from 'vue';
11
- const component: DefineComponent<{}, {}, any>;
12
- export default component;
13
- }
@@ -1,15 +0,0 @@
1
- ---
2
- import SfBase from '@@sf/layouts/Base.astro';
3
- import InlineScripts from '~/scripts/InlineScripts.astro';
4
- import '~/assets/style.css';
5
- import 'uno.css';
6
- import '@fontsource-variable/inter/index.css';
7
- ---
8
-
9
- <SfBase>
10
- <Fragment slot="base-head">
11
- <slot name="base-head" />
12
- </Fragment>
13
- <InlineScripts slot="before-head-end" />
14
- <slot />
15
- </SfBase>