cloudcommerce 0.26.6 → 0.27.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 (353) hide show
  1. package/.github/workflows/test-apps.yml +2 -2
  2. package/.gitmodules +0 -3
  3. package/.vscode/settings.json +3 -1
  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/ssr/src/components/ShopHeader.vue +4 -1
  9. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  10. package/ecomplus-stores/barra-doce/package.json +2 -2
  11. package/ecomplus-stores/barra-doce/scripts/install.sh +12 -2
  12. package/ecomplus-stores/monocard/.firebaserc +1 -1
  13. package/ecomplus-stores/monocard/.github/build-and-deploy +1 -0
  14. package/ecomplus-stores/monocard/.github/workflows/build-and-deploy.yml +1 -0
  15. package/ecomplus-stores/monocard/README.md +11 -82
  16. package/ecomplus-stores/{iluminim → monocard}/SETUP.md +12 -0
  17. package/ecomplus-stores/{iluminim → monocard}/SETUP.pt-BR.md +12 -0
  18. package/ecomplus-stores/monocard/functions/config.json +1 -1
  19. package/ecomplus-stores/monocard/functions/{core → many}/package.json +4 -2
  20. package/ecomplus-stores/monocard/functions/ssr/.eslintrc.cjs +1 -1
  21. package/ecomplus-stores/monocard/functions/ssr/content/layout.json +25 -10
  22. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/pages/home.json +12 -19
  23. package/ecomplus-stores/monocard/functions/ssr/content/pages/products.json +19 -0
  24. package/ecomplus-stores/monocard/functions/ssr/content/settings.json +22 -2
  25. package/ecomplus-stores/monocard/functions/ssr/package.json +8 -9
  26. package/ecomplus-stores/monocard/functions/ssr/src/assets/card.css +99 -0
  27. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/assets/style.css +16 -7
  28. package/ecomplus-stores/monocard/functions/ssr/src/components/AccountMenu.vue +5 -14
  29. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/Banner.vue +6 -4
  30. package/ecomplus-stores/monocard/functions/ssr/src/components/Breadcrumbs.astro +44 -0
  31. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/CartSidebar.vue +1 -1
  32. package/ecomplus-stores/monocard/functions/ssr/src/components/DemoVideo.vue +8 -3
  33. package/ecomplus-stores/monocard/functions/ssr/src/components/DocDescription.astro +30 -0
  34. package/ecomplus-stores/monocard/functions/ssr/src/components/FeatureTabs.vue +2 -2
  35. package/ecomplus-stores/monocard/functions/ssr/src/components/LottiePhoneNFC.vue +12 -9
  36. package/ecomplus-stores/monocard/functions/ssr/src/components/MonocardCustomizer.vue +8 -105
  37. package/ecomplus-stores/monocard/functions/ssr/src/components/Prices.vue +10 -27
  38. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/ProductCard.vue +1 -1
  39. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/ShopFooter.vue +9 -35
  40. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeader.vue +85 -32
  41. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopHeaderMenu.vue +1 -1
  42. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenav.vue +3 -3
  43. package/ecomplus-stores/monocard/functions/ssr/src/components/ShopSidenavCategory.vue +2 -2
  44. package/ecomplus-stores/monocard/functions/ssr/src/env.d.ts +9 -1
  45. package/ecomplus-stores/monocard/functions/ssr/src/layouts/Base.astro +9 -44
  46. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/layouts/PageFooter.astro +3 -19
  47. package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/layouts/PageHeader.astro +7 -14
  48. package/ecomplus-stores/monocard/functions/ssr/src/main/Fallback.astro +0 -5
  49. package/ecomplus-stores/monocard/functions/ssr/src/main/Home.astro +6 -12
  50. package/ecomplus-stores/monocard/functions/ssr/src/main/Sections.astro +38 -0
  51. package/ecomplus-stores/monocard/functions/ssr/src/main/Wildcard.astro +4 -18
  52. package/ecomplus-stores/monocard/functions/ssr/src/pages/[...slug].astro +15 -9
  53. package/ecomplus-stores/monocard/functions/ssr/src/pages/comprar/index.astro +19 -9
  54. package/ecomplus-stores/monocard/functions/ssr/src/pages/index.astro +16 -10
  55. package/ecomplus-stores/monocard/functions/ssr/src/scripts/InlineScripts.astro +6 -6
  56. package/ecomplus-stores/monocard/functions/ssr/tailwind.config.cjs +1 -11
  57. package/ecomplus-stores/monocard/functions/{events → with-apps}/package.json +4 -3
  58. package/ecomplus-stores/monocard/package.json +4 -1
  59. package/ecomplus-stores/monocard/scripts/install.sh +12 -2
  60. package/ecomplus-stores/tia-sonia/scripts/install.sh +12 -2
  61. package/package.json +7 -7
  62. package/packages/api/package.json +1 -1
  63. package/packages/apps/affilate-program/package.json +2 -2
  64. package/packages/apps/correios/package.json +3 -4
  65. package/packages/apps/custom-payment/package.json +1 -1
  66. package/packages/apps/custom-shipping/package.json +1 -1
  67. package/packages/apps/datafrete/package.json +3 -3
  68. package/packages/apps/discounts/package.json +1 -1
  69. package/packages/apps/emails/package.json +2 -2
  70. package/packages/apps/fb-conversions/package.json +3 -3
  71. package/packages/apps/flash-courier/package.json +2 -2
  72. package/packages/apps/frenet/package.json +3 -3
  73. package/packages/apps/galaxpay/package.json +3 -3
  74. package/packages/apps/google-analytics/package.json +3 -3
  75. package/packages/apps/jadlog/package.json +2 -2
  76. package/packages/apps/loyalty-points/package.json +1 -1
  77. package/packages/apps/melhor-envio/package.json +3 -3
  78. package/packages/apps/mercadopago/package.json +3 -3
  79. package/packages/apps/pagarme/package.json +4 -4
  80. package/packages/apps/paghiper/package.json +3 -3
  81. package/packages/apps/pix/package.json +3 -3
  82. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js +22 -0
  83. package/packages/apps/tiny-erp/lib/integration/export-order-to-tiny.js.map +1 -1
  84. package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js +2 -2
  85. package/packages/apps/tiny-erp/lib/integration/helpers/format-tiny-date.js.map +1 -1
  86. package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js +7 -1
  87. package/packages/apps/tiny-erp/lib/integration/import-order-from-tiny.js.map +1 -1
  88. package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js +14 -5
  89. package/packages/apps/tiny-erp/lib/integration/import-product-from-tiny.js.map +1 -1
  90. package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js +9 -1
  91. package/packages/apps/tiny-erp/lib/integration/parsers/order-from-tiny.js.map +1 -1
  92. package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js +8 -6
  93. package/packages/apps/tiny-erp/lib/integration/parsers/order-to-tiny.js.map +1 -1
  94. package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js +118 -38
  95. package/packages/apps/tiny-erp/lib/integration/parsers/product-from-tiny.js.map +1 -1
  96. package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js +8 -0
  97. package/packages/apps/tiny-erp/lib/integration/parsers/product-to-tiny.js.map +1 -1
  98. package/packages/apps/tiny-erp/package.json +3 -3
  99. package/packages/apps/tiny-erp/src/integration/export-order-to-tiny.ts +24 -0
  100. package/packages/apps/tiny-erp/src/integration/helpers/format-tiny-date.ts +2 -2
  101. package/packages/apps/tiny-erp/src/integration/import-order-from-tiny.ts +8 -1
  102. package/packages/apps/tiny-erp/src/integration/import-product-from-tiny.ts +17 -5
  103. package/packages/apps/tiny-erp/src/integration/parsers/order-from-tiny.ts +13 -1
  104. package/packages/apps/tiny-erp/src/integration/parsers/order-to-tiny.ts +11 -6
  105. package/packages/apps/tiny-erp/src/integration/parsers/product-from-tiny.ts +144 -41
  106. package/packages/apps/tiny-erp/src/integration/parsers/product-to-tiny.ts +10 -0
  107. package/packages/apps/webhooks/package.json +3 -3
  108. package/packages/cli/package.json +2 -2
  109. package/packages/config/package.json +1 -1
  110. package/packages/emails/package.json +4 -4
  111. package/packages/eslint/base.eslintrc.cjs +3 -0
  112. package/packages/eslint/package.json +5 -4
  113. package/packages/eslint/storefront.eslintrc.cjs +8 -1
  114. package/packages/events/package.json +2 -2
  115. package/packages/feeds/package.json +1 -1
  116. package/packages/firebase/package.json +3 -3
  117. package/packages/i18n/package.json +1 -1
  118. package/packages/modules/package.json +3 -3
  119. package/packages/passport/package.json +2 -2
  120. package/packages/ssr/lib/firebase/serve-storefront.js +23 -8
  121. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  122. package/packages/ssr/package.json +3 -3
  123. package/packages/ssr/src/firebase/serve-storefront.ts +24 -8
  124. package/packages/storefront/.auto-imports.d.ts +65 -0
  125. package/packages/storefront/astro.config.mjs +24 -1
  126. package/packages/storefront/client.d.ts +1 -0
  127. package/packages/storefront/config/astro/context-directive.mjs +21 -0
  128. package/packages/storefront/config/astro/index.d.ts +8 -0
  129. package/packages/storefront/config/storefront.tailwind.cjs +0 -1
  130. package/packages/storefront/dist/client/_astro/{Carousel.9ad2e1dc.js → Carousel.4bf71bce.js} +1 -1
  131. package/packages/storefront/dist/client/_astro/{CartSidebar.a6c6a885.js → CartSidebar.05b12b39.js} +1 -1
  132. package/packages/storefront/dist/client/_astro/{HeroSlider.ee1e6200.js → HeroSlider.fe108a14.js} +1 -1
  133. package/packages/storefront/dist/client/_astro/{PitchBar.6111676e.js → PitchBar.2c821b77.js} +1 -1
  134. package/packages/storefront/dist/client/_astro/{Prices.04ff8fce.js → Prices.78eb0a61.js} +1 -1
  135. package/packages/storefront/dist/client/_astro/{ProductShelf.085721d6.js → ProductShelf.46d8a51c.js} +1 -1
  136. package/packages/storefront/dist/client/_astro/ShopHeader.3694a82b.js +4 -0
  137. package/packages/storefront/dist/client/_astro/_...slug_.a4a7a874.css +1 -0
  138. package/packages/storefront/dist/client/_astro/ecom-icon_CDmhA.png +0 -0
  139. package/packages/storefront/dist/client/_astro/ecom-icon_Z27EX9f.png +0 -0
  140. package/packages/storefront/dist/client/_astro/ecom-icon_Zo1CLq.png +0 -0
  141. package/packages/storefront/dist/client/_astro/{firebase-app.8c541cce.js → firebase-app.3f59f3c7.js} +3 -3
  142. package/packages/storefront/dist/client/_astro/headphone_1Ekzdh.avif +0 -0
  143. package/packages/storefront/dist/client/_astro/headphone_Z1GbHcH.webp +0 -0
  144. package/packages/storefront/dist/client/_astro/{hoisted.85fdcf03.js → hoisted.648beb9d.js} +1 -1
  145. package/packages/storefront/dist/client/_astro/index.fadf28bd.js +1 -0
  146. package/packages/storefront/dist/client/_astro/logo_144owC.webp +0 -0
  147. package/packages/storefront/dist/client/_astro/logo_1ug3XF.png +0 -0
  148. package/packages/storefront/dist/client/_astro/logo_Z1EIN1I.avif +0 -0
  149. package/packages/storefront/dist/client/_astro/{modules-info.e5d77bf3.js → modules-info.df822732.js} +1 -1
  150. package/packages/storefront/dist/client/_astro/passion_1LvKlp.webp +0 -0
  151. package/packages/storefront/dist/client/_astro/passion_2PSWs.avif +0 -0
  152. package/packages/storefront/dist/client/_astro/rect8589_1A8K2Q.webp +0 -0
  153. package/packages/storefront/dist/client/_astro/rect8589_1ND0he.png +0 -0
  154. package/packages/storefront/dist/client/_astro/rect8589_1mIaKd.png +0 -0
  155. package/packages/storefront/dist/client/_astro/rect8589_LhopI.avif +0 -0
  156. package/packages/storefront/dist/client/_astro/rect8589_Z1NFjiR.avif +0 -0
  157. package/packages/storefront/dist/client/_astro/rect8589_Z2a06Gx.png +0 -0
  158. package/packages/storefront/dist/client/_astro/rect8589_Z2nulUU.webp +0 -0
  159. package/packages/storefront/dist/client/_astro/rect8589_ZH7hsH.avif +0 -0
  160. package/packages/storefront/dist/client/_astro/rect8589_ZorpIx.webp +0 -0
  161. package/packages/storefront/dist/client/_astro/rect859_1CcLjM.avif +0 -0
  162. package/packages/storefront/dist/client/_astro/rect859_1IVKep.png +0 -0
  163. package/packages/storefront/dist/client/_astro/rect859_1zkdb4.webp +0 -0
  164. package/packages/storefront/dist/client/_astro/rect859_299fN7.avif +0 -0
  165. package/packages/storefront/dist/client/_astro/rect859_CnIof.png +0 -0
  166. package/packages/storefront/dist/client/_astro/rect859_Z1OtQaE.avif +0 -0
  167. package/packages/storefront/dist/client/_astro/rect859_flB3g.png +0 -0
  168. package/packages/storefront/dist/client/_astro/rect859_rsWaw.webp +0 -0
  169. package/packages/storefront/dist/client/_astro/rect859_sLbkT.webp +0 -0
  170. package/packages/storefront/dist/client/_astro/rect89_1yf5jS.avif +0 -0
  171. package/packages/storefront/dist/client/_astro/rect89_GQBli.webp +0 -0
  172. package/packages/storefront/dist/client/~fallback.html +67 -0
  173. package/packages/storefront/dist/client/~index.html +113 -0
  174. package/packages/storefront/dist/server/chunks/{CartSidebar.41b20543.mjs → CartSidebar.4179ad81.mjs} +4 -12
  175. package/packages/storefront/dist/server/chunks/{SearchModal.5f5e6a15.mjs → SearchModal.146ce2f7.mjs} +4 -11
  176. package/packages/storefront/dist/server/chunks/_...05c626ea.mjs +28 -0
  177. package/packages/storefront/dist/server/chunks/{account@_@astro.204fba92.mjs → account@_@astro.5eaddaf8.mjs} +2 -9
  178. package/packages/storefront/dist/server/chunks/{index@_@astro.19e0f502.mjs → index@_@astro.25a343cc.mjs} +3 -10
  179. package/packages/storefront/dist/server/chunks/{index@_@astro.b37a6ac9.mjs → index@_@astro.2d2f2e33.mjs} +3 -10
  180. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.36e8882b.mjs → _...slug_.astro.0808946e.mjs} +1836 -450
  181. package/packages/storefront/dist/server/chunks/pages/index.astro.d4145872.mjs +186 -0
  182. package/packages/storefront/dist/server/chunks/pages/{~fallback.astro.ba4c2475.mjs → ~fallback.astro.84d4765b.mjs} +6 -23
  183. package/packages/storefront/dist/server/chunks/{~fallback@_@astro.6bb4c4b4.mjs → ~fallback@_@astro.86d710c3.mjs} +3 -10
  184. package/packages/storefront/dist/server/entry.mjs +7 -14
  185. package/packages/storefront/dist/server/images.dist.csv +30 -0
  186. package/packages/storefront/dist/server/images.src.csv +11 -0
  187. package/packages/storefront/dist/server/renderers.mjs +2 -9
  188. package/packages/storefront/dist/server/static-builds.csv +51 -0
  189. package/packages/storefront/package.json +6 -5
  190. package/packages/storefront/scripts/build-prod.sh +3 -2
  191. package/packages/storefront/server.d.ts +1 -0
  192. package/packages/storefront/src/lib/$storefront.d.ts +8 -8
  193. package/packages/storefront/src/lib/assets/base.css +13 -0
  194. package/packages/storefront/src/lib/assets/reset.css +11 -2
  195. package/packages/storefront/src/lib/components/Carousel.vue +93 -72
  196. package/packages/storefront/src/lib/components/CarouselControl.vue +13 -7
  197. package/packages/storefront/src/lib/components/ContentClearfix.vue +17 -0
  198. package/packages/storefront/src/lib/components/Drawer.vue +3 -3
  199. package/packages/storefront/src/lib/components/PaymentMethodFlag.vue +1 -1
  200. package/packages/storefront/src/lib/components/QuantitySelector.vue +4 -4
  201. package/packages/storefront/src/lib/components/QuantitySelectorControl.vue +2 -2
  202. package/packages/storefront/src/lib/components/ViewTransitions.astro +409 -0
  203. package/packages/storefront/src/lib/components/globals/AImg.vue +2 -1
  204. package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -1
  205. package/packages/storefront/src/lib/layouts/BaseHead.astro +28 -5
  206. package/packages/storefront/src/lib/layouts/use-page-header.ts +2 -2
  207. package/packages/test-base/package.json +1 -1
  208. package/packages/types/package.json +1 -1
  209. package/pnpm-workspace.yaml +2 -0
  210. package/ecomplus-stores/iluminim/.devcontainer/devcontainer.json +0 -30
  211. package/ecomplus-stores/iluminim/.editorconfig +0 -13
  212. package/ecomplus-stores/iluminim/.eslintrc.cjs +0 -3
  213. package/ecomplus-stores/iluminim/.firebaserc +0 -5
  214. package/ecomplus-stores/iluminim/.github/renovate.json +0 -5
  215. package/ecomplus-stores/iluminim/.github/workflows/build-and-deploy.yml +0 -36
  216. package/ecomplus-stores/iluminim/.github/workflows/calibreapp-image-actions.yml +0 -23
  217. package/ecomplus-stores/iluminim/.gitpod.yml +0 -12
  218. package/ecomplus-stores/iluminim/.idx/dev.nix +0 -24
  219. package/ecomplus-stores/iluminim/.nvmrc +0 -1
  220. package/ecomplus-stores/iluminim/.vscode/extensions.json +0 -8
  221. package/ecomplus-stores/iluminim/.vscode/launch.json +0 -11
  222. package/ecomplus-stores/iluminim/.vscode/settings.json +0 -10
  223. package/ecomplus-stores/iluminim/README.md +0 -31
  224. package/ecomplus-stores/iluminim/functions/config.json +0 -3
  225. package/ecomplus-stores/iluminim/functions/example.env +0 -10
  226. package/ecomplus-stores/iluminim/functions/many/package.json +0 -22
  227. package/ecomplus-stores/iluminim/functions/ssr/.eslintrc.cjs +0 -6
  228. package/ecomplus-stores/iluminim/functions/ssr/astro.config.mjs +0 -4
  229. package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +0 -57
  230. package/ecomplus-stores/iluminim/functions/ssr/content/settings.json +0 -65
  231. package/ecomplus-stores/iluminim/functions/ssr/index.js +0 -18
  232. package/ecomplus-stores/iluminim/functions/ssr/package.json +0 -31
  233. package/ecomplus-stores/iluminim/functions/ssr/public/admin/.gitkeep +0 -2
  234. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms-preview.css +0 -274
  235. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms.css +0 -114
  236. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cvv.png +0 -0
  237. package/ecomplus-stores/iluminim/functions/ssr/public/assets/img-placeholder.png +0 -0
  238. package/ecomplus-stores/iluminim/functions/ssr/public/assets/payments.png +0 -0
  239. package/ecomplus-stores/iluminim/functions/ssr/public/assets/ssl-safe.png +0 -0
  240. package/ecomplus-stores/iluminim/functions/ssr/public/img/icon.png +0 -0
  241. package/ecomplus-stores/iluminim/functions/ssr/public/img/large-icon.png +0 -0
  242. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner-chamada-desktop-9x81zmd91q.webp +0 -0
  243. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner2.webp +0 -0
  244. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/chamada-mobile-q1c6om6jx4.webp +0 -0
  245. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/headphone.webp +0 -0
  246. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/logo.webp +0 -0
  247. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/og-image.png +0 -0
  248. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/passion.webp +0 -0
  249. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect8589.png +0 -0
  250. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect859.png +0 -0
  251. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect89.webp +0 -0
  252. package/ecomplus-stores/iluminim/functions/ssr/public/robots.txt +0 -6
  253. package/ecomplus-stores/iluminim/functions/ssr/scripts/build.sh +0 -14
  254. package/ecomplus-stores/iluminim/functions/ssr/src/components/AccountMenu.vue +0 -95
  255. package/ecomplus-stores/iluminim/functions/ssr/src/components/Countdown.vue +0 -79
  256. package/ecomplus-stores/iluminim/functions/ssr/src/components/HeroSlider.vue +0 -52
  257. package/ecomplus-stores/iluminim/functions/ssr/src/components/PitchBar.vue +0 -56
  258. package/ecomplus-stores/iluminim/functions/ssr/src/components/Prices.vue +0 -95
  259. package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductsCountdown.vue +0 -20
  260. package/ecomplus-stores/iluminim/functions/ssr/src/components/SearchModal.vue +0 -6
  261. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +0 -158
  262. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderMenu.vue +0 -58
  263. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderSubmenu.vue +0 -88
  264. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +0 -61
  265. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenavCategory.vue +0 -80
  266. package/ecomplus-stores/iluminim/functions/ssr/src/env.d.ts +0 -13
  267. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Base.astro +0 -16
  268. package/ecomplus-stores/iluminim/functions/ssr/src/main/Fallback.astro +0 -10
  269. package/ecomplus-stores/iluminim/functions/ssr/src/main/Home.astro +0 -49
  270. package/ecomplus-stores/iluminim/functions/ssr/src/main/Sections.astro +0 -42
  271. package/ecomplus-stores/iluminim/functions/ssr/src/main/Wildcard.astro +0 -18
  272. package/ecomplus-stores/iluminim/functions/ssr/src/pages/[...slug].astro +0 -40
  273. package/ecomplus-stores/iluminim/functions/ssr/src/pages/_vue.ts +0 -3
  274. package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/account.astro +0 -0
  275. package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/index.astro +0 -0
  276. package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +0 -37
  277. package/ecomplus-stores/iluminim/functions/ssr/src/scripts/InlineScripts.astro +0 -10
  278. package/ecomplus-stores/iluminim/functions/ssr/tailwind.config.cjs +0 -13
  279. package/ecomplus-stores/iluminim/functions/ssr/tsconfig.json +0 -12
  280. package/ecomplus-stores/iluminim/functions/ssr/uno.config.cjs +0 -5
  281. package/ecomplus-stores/iluminim/functions/with-apps/package.json +0 -22
  282. package/ecomplus-stores/iluminim/package.json +0 -31
  283. package/ecomplus-stores/iluminim/scripts/install.sh +0 -14
  284. package/ecomplus-stores/monocard/README.pt-BR.md +0 -102
  285. package/ecomplus-stores/monocard/functions/core/index.js +0 -9
  286. package/ecomplus-stores/monocard/functions/events/index.js +0 -9
  287. package/ecomplus-stores/monocard/functions/modules/index.js +0 -9
  288. package/ecomplus-stores/monocard/functions/modules/package.json +0 -21
  289. package/ecomplus-stores/monocard/functions/passport/index.js +0 -9
  290. package/ecomplus-stores/monocard/functions/passport/package.json +0 -21
  291. package/ecomplus-stores/monocard/functions/ssr/content/blog.json +0 -18
  292. package/ecomplus-stores/monocard/functions/ssr/content/brands.json +0 -24
  293. package/ecomplus-stores/monocard/functions/ssr/content/categories.json +0 -24
  294. package/ecomplus-stores/monocard/functions/ssr/content/collections.json +0 -24
  295. package/ecomplus-stores/monocard/functions/ssr/content/home.json +0 -45
  296. package/ecomplus-stores/monocard/functions/ssr/content/maintenance.json +0 -6
  297. package/ecomplus-stores/monocard/functions/ssr/content/pages/contato.json +0 -6
  298. package/ecomplus-stores/monocard/functions/ssr/content/pages/entrega.json +0 -6
  299. package/ecomplus-stores/monocard/functions/ssr/content/pages/faq.json +0 -6
  300. package/ecomplus-stores/monocard/functions/ssr/content/pages/pagamentos.json +0 -6
  301. package/ecomplus-stores/monocard/functions/ssr/content/pages/privacidade.json +0 -6
  302. package/ecomplus-stores/monocard/functions/ssr/content/pages/sobre-nos.json +0 -6
  303. package/ecomplus-stores/monocard/functions/ssr/content/pages/termos.json +0 -6
  304. package/ecomplus-stores/monocard/functions/ssr/content/pages/trocas.json +0 -6
  305. package/ecomplus-stores/monocard/functions/ssr/content/posts/esta-loja-e-um-pwa.json +0 -9
  306. package/ecomplus-stores/monocard/functions/ssr/content/products.json +0 -32
  307. package/ecomplus-stores/monocard/functions/ssr/content/search.json +0 -8
  308. package/ecomplus-stores/monocard/functions/ssr/content/widgets/analytics.json +0 -11
  309. package/ecomplus-stores/monocard/functions/ssr/content/widgets/compre-confie.json +0 -11
  310. package/ecomplus-stores/monocard/functions/ssr/content/widgets/ebit.json +0 -11
  311. package/ecomplus-stores/monocard/functions/ssr/content/widgets/fb-pixel.json +0 -12
  312. package/ecomplus-stores/monocard/functions/ssr/content/widgets/gmc-ratings.json +0 -12
  313. package/ecomplus-stores/monocard/functions/ssr/content/widgets/minicart.json +0 -6
  314. package/ecomplus-stores/monocard/functions/ssr/content/widgets/offers-notification.json +0 -11
  315. package/ecomplus-stores/monocard/functions/ssr/content/widgets/opinioes-verificadas.json +0 -18
  316. package/ecomplus-stores/monocard/functions/ssr/content/widgets/product-card.json +0 -10
  317. package/ecomplus-stores/monocard/functions/ssr/content/widgets/product.json +0 -13
  318. package/ecomplus-stores/monocard/functions/ssr/content/widgets/search-engine.json +0 -8
  319. package/ecomplus-stores/monocard/functions/ssr/content/widgets/search.json +0 -6
  320. package/ecomplus-stores/monocard/functions/ssr/content/widgets/tag-manager.json +0 -12
  321. package/ecomplus-stores/monocard/functions/ssr/content/widgets/tawkto.json +0 -12
  322. package/ecomplus-stores/monocard/functions/ssr/content/widgets/trustvox.json +0 -15
  323. package/ecomplus-stores/monocard/functions/ssr/content/widgets/user.json +0 -5
  324. package/ecomplus-stores/monocard/functions/ssr/public/admin/config.json +0 -1
  325. package/ecomplus-stores/monocard/functions/ssr/public/assets/cms-preview.css +0 -274
  326. package/ecomplus-stores/monocard/functions/ssr/public/assets/cms.css +0 -114
  327. package/ecomplus-stores/monocard/functions/ssr/public/assets/cvv.png +0 -0
  328. package/ecomplus-stores/monocard/functions/ssr/public/assets/fonts/FavoritPro-Regular.woff2 +0 -0
  329. package/ecomplus-stores/monocard/functions/ssr/public/assets/fonts/MyriadPro-Regular.woff2 +0 -0
  330. package/ecomplus-stores/monocard/functions/ssr/public/assets/ssl-safe.png +0 -0
  331. package/ecomplus-stores/monocard/functions/ssr/src/layouts/Pages.astro +0 -50
  332. package/ecomplus-stores/monocard/functions/ssr/src/pages/fallback.astro +0 -21
  333. package/packages/storefront/dist/client/_astro/ShopHeader.7e485e35.js +0 -4
  334. package/packages/storefront/dist/client/_astro/_...slug_.b693913e.css +0 -1
  335. package/packages/storefront/dist/client/_astro/index.ea57babe.js +0 -1
  336. package/packages/storefront/dist/server/chunks/_...4a2548d2.mjs +0 -35
  337. package/packages/storefront/dist/server/chunks/endpoint@_@js.11be892a.mjs +0 -35
  338. package/packages/storefront/dist/server/chunks/pages/endpoint.js.f7a896a1.mjs +0 -119
  339. package/packages/storefront/dist/server/chunks/pages/index.astro.3145bd93.mjs +0 -1649
  340. package/packages/storefront/src/lib/components/ContentClearfix.astro +0 -12
  341. /package/ecomplus-stores/{iluminim → monocard}/functions/many/index.js +0 -0
  342. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/blog/.gitkeep +0 -0
  343. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/contato.json +0 -0
  344. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/terms.json +0 -0
  345. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/content/extra-pages/trocas.json +0 -0
  346. /package/ecomplus-stores/{iluminim/functions/ssr/src/layouts/Checkout.astro → monocard/functions/ssr/public/admin/.gitkeep} +0 -0
  347. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
  348. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/BannersGrid.astro +0 -0
  349. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/CartItem.vue +0 -0
  350. /package/ecomplus-stores/monocard/functions/ssr/src/components/{FeatureTabs.astro → FeaturesSection.astro} +0 -0
  351. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/components/ProductShelf.vue +0 -0
  352. /package/ecomplus-stores/{iluminim → monocard}/functions/ssr/src/pages/~fallback.astro +0 -0
  353. /package/ecomplus-stores/{iluminim → monocard}/functions/with-apps/index.js +0 -0
@@ -1,158 +0,0 @@
1
- <template>
2
- <header
3
- ref="header"
4
- class="relative top-0 z-50 transition-colors"
5
- :class="[
6
- isSticky && !isSidenavOpen ? 'bg-white/80' : 'bg-white',
7
- isSticky ? 'backdrop-blur-md shadow py-2 md:py-3' : 'py-3 sm:py-4 md:py-5',
8
- ]"
9
- >
10
- <div class="w-screen lg:w-[calc(100vw-1rem)] xl:max-w-[82rem] 2xl:max-w-[85rem]
11
- mx-auto px-1 sm:pl-2 sm:pr-2.5 lg:px-1
12
- flex md:grid grid-flow-col grid-cols-3 lg:grid-cols-none lg:auto-cols-max
13
- justify-between items-center">
14
- <div class="basis-1/4 lg:hidden">
15
- <button
16
- class="px-2 my-1"
17
- :aria-label="$t.i19toggleMenu"
18
- @click="isSidenavOpen = !isSidenavOpen"
19
- >
20
- <i
21
- class="text-base-500 text-3xl"
22
- :class="isSidenavOpen ? 'i-close' : 'i-bars-3-bottom-left'"
23
- ></i>
24
- </button>
25
- </div>
26
- <slot name="logo" />
27
- <ShopHeaderMenu class="hidden lg:block" v-bind="{ inlineMenuTrees }" />
28
- <div class="basis-1/4 px-2
29
- flex justify-end items-center gap-3 lg:gap-4 text-base-800">
30
- <button
31
- :aria-label="$t.i19searchProducts"
32
- @click="isSearchOpen = !isSearchOpen"
33
- >
34
- <i class="i-magnifying-glass w-7 h-7
35
- hover:text-primary hover:scale-110 active:scale-125"></i>
36
- </button>
37
- <AccountMenu class="hidden sm:block">
38
- <template #button="{ open }">
39
- <i
40
- class="i-user-circle w-7 h-7
41
- hover:text-primary hover:scale-110 active:scale-125"
42
- :class="open ? 'text-black scale-110' : null"
43
- ></i>
44
- </template>
45
- </AccountMenu>
46
- <button
47
- :aria-label="$t.i19openCart"
48
- @click="isCartOpen = !isCartOpen"
49
- class="relative group"
50
- >
51
- <i class="i-carbon:shopping-cart w-7 h-7 group-hover:text-primary
52
- text-secondary-900 group-hover:scale-110 group-active:scale-125"></i>
53
- <span
54
- v-if="delayedTotalItems"
55
- class="ui-badge-pill-sm absolute -top-1 -right-1.5"
56
- >
57
- {{ delayedTotalItems }}
58
- </span>
59
- </button>
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="{ height: `calc(100vh - ${positionY}px + .5rem)` }"
68
- >
69
- <ShopSidenav class="bg-white pt-6" v-bind="{ categoryTrees }" />
70
- </Drawer>
71
- <Drawer
72
- v-model="isSearchOpen"
73
- :has-close-button="false"
74
- placement="top"
75
- >
76
- <Suspense>
77
- <SearchModal v-if="isSearchOpenOnce" />
78
- <template #fallback>
79
- <div class="container mx-auto">
80
- <Skeleton class="p-6" is-large />
81
- </div>
82
- </template>
83
- </Suspense>
84
- </Drawer>
85
- <Teleport v-if="isMounted" to="#teleported-overlap">
86
- <Drawer
87
- v-model="isCartOpen"
88
- placement="end"
89
- backdrop-target="#teleported-overlap"
90
- >
91
- <Suspense>
92
- <CartSidebar v-if="isCartOpenOnce" @close="isCartOpen = false" />
93
- <template #fallback>
94
- <Skeleton class="pt-16 px-6" is-bold />
95
- </template>
96
- </Suspense>
97
- </Drawer>
98
- </Teleport>
99
- </header>
100
- </template>
101
-
102
- <script setup lang="ts">
103
- import {
104
- ref,
105
- watch,
106
- onMounted,
107
- defineAsyncComponent,
108
- } from 'vue';
109
- import { watchOnce } from '@vueuse/core';
110
- import { totalItems } from '@@sf/state/shopping-cart';
111
- import {
112
- type Props as UseShopHeaderProps,
113
- useShopHeader,
114
- } from '@@sf/composables/use-shop-header';
115
- import Drawer from '@@sf/components/Drawer.vue';
116
- import ShopSidenav from '~/components/ShopSidenav.vue';
117
- import ShopHeaderMenu from '~/components/ShopHeaderMenu.vue';
118
- import AccountMenu from '~/components/AccountMenu.vue';
119
-
120
- export interface Props extends Omit<UseShopHeaderProps, 'header'> {}
121
-
122
- const SearchModal = defineAsyncComponent(() => import('~/components/SearchModal.vue'));
123
- const CartSidebar = defineAsyncComponent(() => import('~/components/CartSidebar.vue'));
124
- const props = defineProps<Props>();
125
- const header = ref<HTMLElement | null>(null);
126
- const {
127
- isSticky,
128
- positionY,
129
- categoryTrees,
130
- inlineMenuTrees,
131
- } = useShopHeader({ ...props, header });
132
- const isSidenavOpen = ref(false);
133
- const isSearchOpen = ref(false);
134
- const isSearchOpenOnce = ref(false);
135
- watchOnce(isSearchOpen, () => {
136
- isSearchOpenOnce.value = true;
137
- });
138
- const isCartOpen = ref(false);
139
- const isCartOpenOnce = ref(false);
140
- watchOnce(isCartOpen, () => {
141
- isCartOpenOnce.value = true;
142
- });
143
- const isMounted = ref(false);
144
- const delayedTotalItems = ref(0);
145
- onMounted(() => {
146
- isMounted.value = true;
147
- watch(totalItems, (newTotalItems, prevTotalItems) => {
148
- if (typeof prevTotalItems === 'number') {
149
- if (prevTotalItems < newTotalItems) {
150
- isCartOpen.value = true;
151
- } else if (prevTotalItems && !newTotalItems) {
152
- isCartOpen.value = false;
153
- }
154
- }
155
- delayedTotalItems.value = newTotalItems;
156
- }, { immediate: true });
157
- });
158
- </script>
@@ -1,58 +0,0 @@
1
- <template>
2
- <nav>
3
- <ul
4
- class="flex gap-4 xl:gap-5 text-base-700"
5
- :class="inlineMenuTrees.length < 7 ? 'text-base' : 'text-sm'"
6
- >
7
- <li v-for="(categoryTree, i) in inlineMenuTrees" :key="i">
8
- <ShopHeaderSubmenu
9
- v-if="categoryTree.subcategories.length"
10
- :category-tree="categoryTree"
11
- >
12
- <template #button="{ open }">
13
- <span class="hover:text-primary group">
14
- <h3
15
- class="group-hover:underline inline"
16
- :class="[
17
- inlineMenuTrees.length < 7 ? 'decoration-2' : null,
18
- open ? 'underline' : null,
19
- ]"
20
- >
21
- {{ categoryTree.name }}
22
- </h3>
23
- <i
24
- v-if="hasOneLevelSubcategories"
25
- class="i-chevron-down ml-1 transition-transform
26
- text-base-400 group-hover:text-primary-subtle"
27
- :class="open ? 'rotate-180' : null"
28
- ></i>
29
- </span>
30
- </template>
31
- </ShopHeaderSubmenu>
32
- <a
33
- v-else
34
- :href="`/${categoryTree.slug}`"
35
- class="hover:text-primary hover:underline"
36
- :class="inlineMenuTrees.length < 7 ? 'decoration-2' : null"
37
- >
38
- <h3 class="inline">{{ categoryTree.name }}</h3>
39
- </a>
40
- </li>
41
- </ul>
42
- </nav>
43
- </template>
44
-
45
- <script setup lang="ts">
46
- import type { CategoryTree } from '@@sf/composables/use-shop-header';
47
- import { computed } from 'vue';
48
- import ShopHeaderSubmenu from '~/components/ShopHeaderSubmenu.vue';
49
-
50
- export interface Props {
51
- inlineMenuTrees: CategoryTree[];
52
- }
53
-
54
- const props = defineProps<Props>();
55
- const hasOneLevelSubcategories = computed(() => {
56
- return !!props.inlineMenuTrees.find(({ subcategories }) => !subcategories.length);
57
- });
58
- </script>
@@ -1,88 +0,0 @@
1
- <template>
2
- <Popover v-slot="{ open }">
3
- <PopoverButton class="outline-none">
4
- <slot name="button" v-bind="{ open }" />
5
- </PopoverButton>
6
- <div class="relative">
7
- <Fade>
8
- <PopoverPanel
9
- class="absolute z-20 top-3 left-1/2 -translate-x-1/2 !transform
10
- px-6 py-4 rounded backdrop-blur-md shadow bg-white/80
11
- text-base text-base-700"
12
- :class="countMenuCols === 1 ? 'w-60'
13
- : countMenuCols === 2 ? `w-screen ${(categoryPicture ? 'max-w-lg' : 'max-w-sm')}`
14
- : countMenuCols === 3 ? `w-screen ${(categoryPicture ? 'max-w-xl' : 'max-w-md')}`
15
- : countMenuCols < 6 ? 'w-screen max-w-3xl' : 'w-screen max-w-5xl'"
16
- >
17
- <div class="flex gap-6 w-full">
18
- <ul v-if="subcategoryLinks.length" class="flex-1">
19
- <li
20
- v-for="(subcategory, i) in subcategoryLinks"
21
- :key="`link-${i}`"
22
- :class="subcategoryLinks.length > 10 ? 'text-sm mb-1' : 'mb-2'"
23
- >
24
- <a :href="`/${subcategory.slug}`" class="hover:text-primary">
25
- <h3>{{ subcategory.name }}</h3>
26
- </a>
27
- </li>
28
- </ul>
29
- <div
30
- v-for="(subcategory, i) in subcategoryCols"
31
- :key="i"
32
- class="flex-1"
33
- >
34
- <a :href="`/${subcategory.slug}`" class="hover:text-primary">
35
- <h3>{{ subcategory.name }}</h3>
36
- </a>
37
- <ul class="text-sm text-base-600 mt-1 mb-1.5">
38
- <li
39
- v-for="(nestedSubcategory, ii) in subcategory.subcategories"
40
- :key="`${i}-${ii}`"
41
- class="mb-0.5"
42
- >
43
- <a
44
- :href="`/${nestedSubcategory.slug}`"
45
- class="hover:text-primary hover:underline"
46
- >
47
- <h3>{{ nestedSubcategory.name }}</h3>
48
- </a>
49
- </li>
50
- </ul>
51
- </div>
52
- <div
53
- v-if="categoryPicture"
54
- :class="countMenuCols === 2 ? 'basis-1/2'
55
- : countMenuCols < 5 ? 'basis-2/5' : 'basis-1/3'"
56
- >
57
- <AImg :picture="categoryPicture" class="ml-auto rounded" />
58
- </div>
59
- </div>
60
- <a
61
- :href="`/${categoryTree.slug}`"
62
- class="block mt-1 text-xs text-base-600 leading-snug underline"
63
- >
64
- {{ $t.i19seeAll$1Category.replace('$1', categoryTree.name) }}
65
- </a>
66
- </PopoverPanel>
67
- </Fade>
68
- </div>
69
- </Popover>
70
- </template>
71
-
72
- <script setup lang="ts">
73
- import { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue';
74
- import {
75
- type Props as UseShopHeaderSubmenuProps,
76
- useShopHeaderSubmenu,
77
- } from '@@sf/composables/use-shop-header-submenu';
78
-
79
- export interface Props extends UseShopHeaderSubmenuProps {}
80
-
81
- const props = defineProps<Props>();
82
- const {
83
- categoryPicture,
84
- subcategoryLinks,
85
- subcategoryCols,
86
- countMenuCols,
87
- } = useShopHeaderSubmenu(props);
88
- </script>
@@ -1,61 +0,0 @@
1
- <template>
2
- <aside class="flex flex-col h-full">
3
- <nav class="py-4 grow">
4
- <ul class="relative h-full">
5
- <ShopSidenavCategory
6
- v-for="(categoryTree, i) in categoryTrees"
7
- :key="i"
8
- :category-tree="categoryTree"
9
- />
10
- </ul>
11
- </nav>
12
- <footer class="text-base">
13
- <div class="flex items-center px-2 py-4 bg-base-100">
14
- <AccountLink class="p-2 grow flex items-center gap-3">
15
- <i class="i-user-circle text-4xl text-base-500 m-0"></i>
16
- <span class="leading-tight">
17
- {{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
18
- <small class="block lowercase font-semibold text-primary">
19
- {{ $t.i19myOrders }}, {{ $t.i19myAccount }}
20
- </small>
21
- </span>
22
- </AccountLink>
23
- <button
24
- v-if="isLogged"
25
- @click="logout"
26
- class="p-2 text-right text-base-800"
27
- >
28
- <span class="text-base-600">{{ $t.i19logout }}</span>
29
- <i class="i-arrow-right-on-rectangle text-lg ml-1"></i>
30
- </button>
31
- </div>
32
- <ul class="flex gap-3 p-4 bg-base-200 text-xl text-base-700">
33
- <li v-for="(href, network) in socialNetworks" :key="network">
34
- <SocialNetworkLink :network="network" class="p-1 active:text-primary" />
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 { onMounted } from 'vue';
44
- import { socialNetworks } from '@@sf/sf-lib';
45
- import {
46
- customerName,
47
- initializeFirebaseAuth,
48
- isLogged,
49
- logout,
50
- } from '@@sf/state/customer-session';
51
- import AccountLink from '@@sf/components/AccountLink.vue';
52
- import SocialNetworkLink from '@@sf/components/SocialNetworkLink.vue';
53
- import ShopSidenavCategory from '~/components/ShopSidenavCategory.vue';
54
-
55
- export interface Props {
56
- categoryTrees: CategoryTree[];
57
- }
58
-
59
- defineProps<Props>();
60
- onMounted(() => initializeFirebaseAuth());
61
- </script>
@@ -1,80 +0,0 @@
1
- <template>
2
- <li class="text-lg text-base-800">
3
- <details
4
- v-if="categoryTree.subcategories.length"
5
- class="bg-white overflow-y-auto overflow-x-hidden z-10
6
- open:absolute open:top-0 open:left-0 open:w-full open:h-full"
7
- @toggle="isOpen = !isOpen"
8
- >
9
- <summary
10
- class="cursor-pointer list-none px-6 py-3 active:bg-base-100 transition-colors"
11
- :class="isOpen ? 'bg-base-100' : null"
12
- >
13
- <i :class="!isOpen
14
- ? 'i-arrow-right float-right mb-0 mt-1 text-xl text-base-500'
15
- : 'i-arrow-left text-lg'"></i>
16
- <AImg
17
- v-if="!isOpen && categoryTree.icon"
18
- :picture="categoryTree.icon"
19
- :alt="categoryTree.name"
20
- class="w-auto h-5 inline mr-3"
21
- />
22
- <h3 class="inline" :class="isOpen ? 'ml-4 text-base' : null">
23
- {{ categoryTree.name }}
24
- </h3>
25
- </summary>
26
- <ul
27
- class="mt-2 transition-opacity"
28
- :class="isFaded ? 'opacity-20' : 'opacity-100'"
29
- tabindex="-1"
30
- >
31
- <ShopSidenavCategory
32
- v-for="(subcategoryTree, i) in categoryTree.subcategories"
33
- :key="i"
34
- :category-tree="subcategoryTree"
35
- />
36
- <li>
37
- <a
38
- :href="`/${categoryTree.slug}`"
39
- class="block px-6 py-3 text-base underline active:bg-base-200"
40
- >
41
- {{ $t.i19seeAll$1Category.replace('$1', categoryTree.name) }}
42
- </a>
43
- </li>
44
- </ul>
45
- </details>
46
- <a
47
- v-else
48
- :href="`/${categoryTree.slug}`"
49
- class="block px-6 py-3 active:bg-base-200"
50
- >
51
- <AImg
52
- v-if="!isOpen && categoryTree.icon"
53
- :picture="categoryTree.icon"
54
- :alt="categoryTree.name"
55
- class="w-auto h-5 inline mr-3"
56
- />
57
- <h3 class="inline">{{ categoryTree.name }}</h3>
58
- </a>
59
- </li>
60
- </template>
61
-
62
- <script setup lang="ts">
63
- import type { CategoryTree, SubcategoryTree } from '@@sf/composables/use-shop-header';
64
- import { ref, watch } from 'vue';
65
-
66
- export interface Props {
67
- categoryTree: CategoryTree | SubcategoryTree;
68
- }
69
-
70
- defineProps<Props>();
71
- const isOpen = ref(false);
72
- const isFaded = ref(true);
73
- watch(isOpen, (_isOpen) => {
74
- if (_isOpen) {
75
- setTimeout(() => { isFaded.value = false; }, 25);
76
- } else {
77
- isFaded.value = true;
78
- }
79
- });
80
- </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,16 +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
- // Supports weights 100-900
7
- import '@fontsource-variable/heebo/index.css';
8
- ---
9
-
10
- <SfBase>
11
- <Fragment slot="base-head">
12
- <slot name="base-head" />
13
- </Fragment>
14
- <InlineScripts slot="before-head-end" />
15
- <slot />
16
- </SfBase>
@@ -1,10 +0,0 @@
1
- ---
2
- ---
3
-
4
- <main>
5
- <h1>Error :/</h1>
6
- <p class="instructions">
7
- Check out the <code>src/pages</code> directory to get started.<br/>
8
- <strong>Code Challenge:</strong> Tweak the "Welcome to Astro" message above.
9
- </p>
10
- </main>
@@ -1,49 +0,0 @@
1
- ---
2
- import api from '@cloudcommerce/api';
3
- import { usePageHero } from '@@sf/layouts/use-page-main';
4
- import BannerPictures from '@@sf/components/BannerPictures.astro';
5
- import HeroSlider from '~/components/HeroSlider.vue';
6
- import Sections from '~/main/Sections.astro';
7
- import Countdown from '~/components/Countdown.vue';
8
-
9
- const { routeContext } = Astro.locals;
10
- const { heroSlider } = await usePageHero({ routeContext });
11
- const heroSlides = heroSlider.slides;
12
- const {
13
- data: {
14
- result: products,
15
- },
16
- } = await api.get('products', {
17
- limit: 500,
18
- fields: ['sku', 'name', 'pictures'] as const,
19
- });
20
- ---
21
-
22
- <main>
23
- {heroSlider.slides.length &&
24
- <HeroSlider {...heroSlider} client:load>
25
- {heroSlides[0] && <BannerPictures slot="picture-0" {...heroSlides[0]} index={0} />}
26
- {heroSlides[1] && <BannerPictures slot="picture-1" {...heroSlides[1]} index={1} />}
27
- {heroSlides[2] && <BannerPictures slot="picture-2" {...heroSlides[2]} index={2} />}
28
- {heroSlides[3] && <BannerPictures slot="picture-3" {...heroSlides[3]} index={3} />}
29
- {heroSlides[4] && <BannerPictures slot="picture-4" {...heroSlides[4]} index={4} />}
30
- {heroSlides[5] && <BannerPictures slot="picture-5" {...heroSlides[5]} index={5} />}
31
- {heroSlides[6] && <BannerPictures slot="picture-6" {...heroSlides[6]} index={6} />}
32
- {heroSlides[7] && <BannerPictures slot="picture-7" {...heroSlides[7]} index={7} />}
33
- {heroSlides[8] && <BannerPictures slot="picture-8" {...heroSlides[8]} index={8} />}
34
- {heroSlides[9] && <BannerPictures slot="picture-9" {...heroSlides[9]} index={9} />}
35
- <!-- https://github.com/withastro/astro/issues/5066#issuecomment-1277998365 -->
36
- </HeroSlider>
37
- }
38
- <Sections />
39
- <div class="container mx-auto py-4">
40
- <Countdown client:visible />
41
- </div>
42
- <article class="container">
43
- {products.map((product) => (
44
- <span>{product.sku}</span>
45
- <span> {product.name}</span>
46
- <br>
47
- ))}
48
- </article>
49
- </main>
@@ -1,42 +0,0 @@
1
- ---
2
- import api from '@cloudcommerce/api';
3
- import { usePageSections } from '@@sf/layouts/use-page-main';
4
- import BannersGrid from '~/components/BannersGrid.astro';
5
- import ProductShelf from '~/components/ProductShelf.vue';
6
- import ProductsCountdown, { type Props as ProductsCountdownProps }
7
- from '~/components/ProductsCountdown.vue';
8
-
9
- const { routeContext } = Astro.locals;
10
- const { sections } = await usePageSections({
11
- routeContext,
12
- handleCustomSection: async (type, content) => {
13
- if (type === 'c:products-countdown') {
14
- const {
15
- data: {
16
- result: products,
17
- },
18
- } = await api.get('search/v1', {
19
- params: { sku: content.skus },
20
- });
21
- const props: ProductsCountdownProps = { products };
22
- return { props };
23
- }
24
- return { props: content };
25
- },
26
- });
27
- ---
28
-
29
- <article class="my-9 md:my-12">
30
- {sections.map(({ type, props }) => {
31
- switch (type) {
32
- case 'product-shelf':
33
- return <ProductShelf {...props} client:visible />
34
- case 'banners-grid':
35
- return <BannersGrid {...props} />
36
- case 'c:products-countdown':
37
- return <ProductsCountdown {...props} />
38
- default:
39
- return <div data-section={type}></div>
40
- }
41
- })}
42
- </article>
@@ -1,18 +0,0 @@
1
- ---
2
- const { fetchingApiContext, apiContext } = Astro.locals.routeContext;
3
-
4
- await fetchingApiContext;
5
- const apiDoc = apiContext.doc;
6
- ---
7
-
8
- <main>
9
- {apiDoc &&
10
- <h1>Hello <span class="text-gradient">{apiDoc.name}</span></h1>
11
- <hr>
12
- <div class="mt-3">
13
- <mark>{apiDoc._id}</mark> from <i>{apiContext.resource}</i>
14
- <p>{Math.random()}</p>
15
- <em>Lorem ipsum dolor sit amet</em>
16
- </div>
17
- }
18
- </main>
@@ -1,40 +0,0 @@
1
- ---
2
- import api from '@cloudcommerce/api';
3
- import loadRouteContext, { RouteContext } from '@@sf/ssr-context';
4
- import BaseHead from '@@sf/layouts/BaseHead.astro';
5
- import Base from '~/layouts/Base.astro';
6
- import PageHeader from '~/layouts/PageHeader.astro';
7
- import WildcardMain from '~/main/Wildcard.astro';
8
-
9
- if (String(Astro.params.slug).endsWith('.css.map')) {
10
- return new Response(null, { status: 404 });
11
- }
12
-
13
- let routeContext: RouteContext | undefined;
14
- let loadError: any;
15
- try {
16
- routeContext = await loadRouteContext(Astro);
17
- } catch (err: any) {
18
- if (err.astroResponse) {
19
- return err.astroResponse;
20
- }
21
- loadError = err;
22
- }
23
-
24
- export async function getStaticPaths() {
25
- return (await api.get('products?sort=-sales&limit=4&fields=slug'))
26
- .data.result.map(({ slug }) => ({ params: { slug } }));
27
- }
28
- ---
29
-
30
- <!DOCTYPE html>
31
- <html lang={routeContext?.lang.replace('_', '-')}>
32
- {routeContext &&
33
- <Base>
34
- <BaseHead slot="base-head" />
35
- <PageHeader />
36
- <WildcardMain />
37
- </Base>
38
- }
39
- {loadError && <Fragment set:html={loadError.responseHTML} />}
40
- </html>
@@ -1,3 +0,0 @@
1
- import createApp from '@@sf/pages/_vue';
2
-
3
- export default createApp;