cloudcommerce 2.0.7 → 2.0.9

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 (168) hide show
  1. package/.husky/pre-commit +4 -0
  2. package/.vscode/settings.json +8 -2
  3. package/CHANGELOG.md +20 -0
  4. package/action.yml +1 -1
  5. package/ecomplus-stores/barra-doce/.husky/pre-commit +4 -0
  6. package/ecomplus-stores/barra-doce/.vscode/settings.json +3 -2
  7. package/ecomplus-stores/barra-doce/functions/many/package.json +3 -3
  8. package/ecomplus-stores/barra-doce/functions/ssr/.staged.eslintrc.cjs +6 -0
  9. package/ecomplus-stores/barra-doce/functions/ssr/package.json +9 -8
  10. package/ecomplus-stores/barra-doce/functions/ssr/src/components/AccountMenu.vue +4 -1
  11. package/ecomplus-stores/barra-doce/functions/ssr/src/components/AccountPage.vue +6 -3
  12. package/ecomplus-stores/barra-doce/functions/ssr/src/components/Banner.vue +2 -1
  13. package/ecomplus-stores/barra-doce/functions/ssr/src/components/BlogPosts.vue +8 -2
  14. package/ecomplus-stores/barra-doce/functions/ssr/src/components/Breadcrumbs.vue +4 -1
  15. package/ecomplus-stores/barra-doce/functions/ssr/src/components/CartItem.vue +4 -3
  16. package/ecomplus-stores/barra-doce/functions/ssr/src/components/CartSidebar.vue +1 -1
  17. package/ecomplus-stores/barra-doce/functions/ssr/src/components/CheckoutPage.vue +2 -2
  18. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ContentEntry.vue +1 -1
  19. package/ecomplus-stores/barra-doce/functions/ssr/src/components/FooterStamps.vue +8 -6
  20. package/ecomplus-stores/barra-doce/functions/ssr/src/components/HeroSlider.vue +7 -3
  21. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ImagesGallery.vue +13 -11
  22. package/ecomplus-stores/barra-doce/functions/ssr/src/components/LoginForm.vue +1 -1
  23. package/ecomplus-stores/barra-doce/functions/ssr/src/components/PitchBar.vue +5 -2
  24. package/ecomplus-stores/barra-doce/functions/ssr/src/components/Prices.vue +1 -1
  25. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductCard.vue +13 -13
  26. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductDetails.vue +1 -1
  27. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ProductShelf.vue +9 -6
  28. package/ecomplus-stores/barra-doce/functions/ssr/src/components/SearchModal.vue +1 -1
  29. package/ecomplus-stores/barra-doce/functions/ssr/src/components/SearchShowcase.vue +8 -9
  30. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopFooter.vue +15 -6
  31. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeader.vue +10 -10
  32. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderMenu.vue +2 -1
  33. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopHeaderSubmenu.vue +7 -4
  34. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopSidenav.vue +5 -2
  35. package/ecomplus-stores/barra-doce/functions/ssr/src/components/ShopSidenavCategory.vue +3 -2
  36. package/ecomplus-stores/barra-doce/functions/ssr/src/components/SkuSelector.vue +8 -5
  37. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageFooter.astro +1 -2
  38. package/ecomplus-stores/barra-doce/functions/ssr/src/layouts/PageHeader.astro +2 -1
  39. package/ecomplus-stores/barra-doce/functions/ssr/src/main/Fallback.astro +3 -3
  40. package/ecomplus-stores/barra-doce/functions/ssr/src/main/Main.astro +2 -2
  41. package/ecomplus-stores/barra-doce/functions/ssr/src/pages/[...slug].astro +4 -4
  42. package/ecomplus-stores/barra-doce/functions/ssr/src/scripts/InlineScripts.astro +8 -8
  43. package/ecomplus-stores/barra-doce/functions/with-apps/package.json +3 -3
  44. package/ecomplus-stores/barra-doce/package.json +10 -3
  45. package/ecomplus-stores/barra-doce/tailwind.config.cjs +5 -0
  46. package/ecomplus-stores/tia-sonia/.vscode/launch.json +11 -0
  47. package/ecomplus-stores/tia-sonia/.vscode/settings.json +7 -1
  48. package/package.json +9 -4
  49. package/packages/api/package.json +1 -1
  50. package/packages/apps/affiliate-program/package.json +1 -1
  51. package/packages/apps/correios/package.json +2 -2
  52. package/packages/apps/custom-payment/package.json +1 -1
  53. package/packages/apps/custom-shipping/package.json +1 -1
  54. package/packages/apps/datafrete/package.json +1 -1
  55. package/packages/apps/discounts/package.json +1 -1
  56. package/packages/apps/emails/package.json +1 -1
  57. package/packages/apps/fb-conversions/package.json +1 -1
  58. package/packages/apps/flash-courier/package.json +1 -1
  59. package/packages/apps/frenet/package.json +1 -1
  60. package/packages/apps/galaxpay/package.json +1 -1
  61. package/packages/apps/google-analytics/package.json +1 -1
  62. package/packages/apps/jadlog/package.json +1 -1
  63. package/packages/apps/loyalty-points/package.json +1 -1
  64. package/packages/apps/mandae/package.json +1 -1
  65. package/packages/apps/melhor-envio/package.json +1 -1
  66. package/packages/apps/mercadopago/package.json +1 -1
  67. package/packages/apps/pagarme/package.json +1 -1
  68. package/packages/apps/pagarme-v5/package.json +1 -1
  69. package/packages/apps/paghiper/package.json +1 -1
  70. package/packages/apps/pix/package.json +1 -1
  71. package/packages/apps/tiny-erp/package.json +1 -1
  72. package/packages/apps/webhooks/package.json +1 -1
  73. package/packages/cli/package.json +1 -1
  74. package/packages/config/package.json +1 -1
  75. package/packages/emails/package.json +1 -1
  76. package/packages/eslint/base.eslintrc.cjs +3 -4
  77. package/packages/eslint/package.json +6 -5
  78. package/packages/eslint/storefront.eslintrc.cjs +19 -2
  79. package/packages/eslint/storefront.staged.eslintrc.cjs +9 -0
  80. package/packages/events/package.json +1 -1
  81. package/packages/feeds/package.json +1 -1
  82. package/packages/firebase/package.json +2 -2
  83. package/packages/i18n/package.json +1 -1
  84. package/packages/modules/package.json +2 -2
  85. package/packages/passport/package.json +1 -1
  86. package/packages/ssr/package.json +5 -5
  87. package/packages/storefront/dist/client/_astro/{AccountPage.oxrx8xO0.js → AccountPage.9BlGHXT3.js} +1 -1
  88. package/packages/storefront/dist/client/_astro/CartSidebar.55UgTcV0.js +1 -0
  89. package/packages/storefront/dist/client/_astro/{HeroSlider.OYdereCn.js → HeroSlider.XZb2xsyV.js} +1 -1
  90. package/packages/storefront/dist/client/_astro/{PitchBar.RVEArMQA.js → PitchBar.Nr7T3S3T.js} +1 -1
  91. package/packages/storefront/dist/client/_astro/{Prices.Bsod-tLh.js → Prices.Ye-m2HTo.js} +1 -1
  92. package/packages/storefront/dist/client/_astro/ProductDetails.ENLKdSz_.js +7 -0
  93. package/packages/storefront/dist/client/_astro/ProductShelf.CNf5JDrU.js +1 -0
  94. package/packages/storefront/dist/client/_astro/ProductShelf.lCBJky3e.js +1 -0
  95. package/packages/storefront/dist/client/_astro/{QuantitySelector.SEAsIOhe.js → QuantitySelector.tumfWDjC.js} +1 -1
  96. package/packages/storefront/dist/client/_astro/{SearchModal.JVuqMQFe.js → SearchModal.4osqtafp.js} +1 -1
  97. package/packages/storefront/dist/client/_astro/{SearchShowcase.zwEq0xsL.js → SearchShowcase.hg6TWrz3.js} +1 -1
  98. package/packages/storefront/dist/client/_astro/ShopHeader.xLMeJpqV.js +7 -0
  99. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.SO-0jCqa.js +5 -0
  100. package/packages/storefront/dist/client/_astro/_slug_.r344YGqG.css +1 -0
  101. package/packages/storefront/dist/client/_astro/client.ZhEmw4hZ.js +1 -0
  102. package/packages/storefront/dist/client/_astro/{customer-session.yn5lG3w3.js → customer-session.hXdZh5Ii.js} +1 -1
  103. package/packages/storefront/dist/client/_astro/{format-money.ykh8O7d2.js → format-money.iK5LGydz.js} +1 -1
  104. package/packages/storefront/dist/client/_astro/{grid-title.z5ui_5pL.js → grid-title.vGKBy72g.js} +1 -1
  105. package/packages/storefront/dist/client/_astro/{hoisted.hpPOAcMM.js → hoisted.HGTzAuTI.js} +1 -1
  106. package/packages/storefront/dist/client/_astro/{hoisted.daSrX1-i.js → hoisted.J15ErMtK.js} +1 -1
  107. package/packages/storefront/dist/client/_astro/hoisted.KYhwGfsv.js +1 -0
  108. package/packages/storefront/dist/client/_astro/{i18n.MycOopxQ.js → i18n.Lxnz1oF-.js} +1 -1
  109. package/packages/storefront/dist/client/_astro/{img.c2KI4eO6.js → img.WnsidxCx.js} +1 -1
  110. package/packages/storefront/dist/client/_astro/{index.NRzvVgQf.js → index.R7A-Pg5V.js} +1 -1
  111. package/packages/storefront/dist/client/_astro/{index.8acAQSHW.js → index.q6KIyKlJ.js} +1 -1
  112. package/packages/storefront/dist/client/_astro/{modules-info.dHD0h8Nc.js → modules-info.tVRhvxNm.js} +1 -1
  113. package/packages/storefront/dist/client/_astro/name.urFqJ5yn.js +1 -0
  114. package/packages/storefront/dist/client/_astro/runtime-core.esm-bundler.XTSAdOlw.js +13 -0
  115. package/packages/storefront/dist/client/_astro/sf-utils.Z4H-dRBJ.js +1 -0
  116. package/packages/storefront/dist/client/_astro/{shopping-cart.MgpVRgys.js → shopping-cart.ZdSCrjS6.js} +1 -1
  117. package/packages/storefront/dist/client/_astro/{use-analytics.D9xd-k7D.js → use-analytics.tCrQbW8O.js} +1 -1
  118. package/packages/storefront/dist/client/_astro/{use-product-card.gKh9czSW.js → use-product-card.-9TsgDDW.js} +1 -1
  119. package/packages/storefront/dist/client/_astro/use-text-value.XE_A2nDM.js +4 -0
  120. package/packages/storefront/dist/server/chunks/{CartSidebar_8VAKl-jR.mjs → CartSidebar_7UWmGIF6.mjs} +5 -5
  121. package/packages/storefront/dist/server/chunks/{SearchModal_7debttOi.mjs → SearchModal_MNdcYMws.mjs} +4 -4
  122. package/packages/storefront/dist/server/chunks/{_.._D6rq0cLa.mjs → _.._h5R83hoK.mjs} +1 -1
  123. package/packages/storefront/dist/server/chunks/{_page__WXDIwV7g.mjs → _page__lWVlZyRe.mjs} +1 -1
  124. package/packages/storefront/dist/server/chunks/{account_DOT2RzND.mjs → account_jmelxnlw.mjs} +1 -1
  125. package/packages/storefront/dist/server/chunks/astro/{assets-service_gJYJeEDH.mjs → assets-service_xNulQtBO.mjs} +1 -1
  126. package/packages/storefront/dist/server/chunks/{astro_H-6uiAAG.mjs → astro_tggR3S_9.mjs} +2 -2
  127. package/packages/storefront/dist/server/chunks/{index_eXlHIU83.mjs → index_e3ytAL8v.mjs} +1 -1
  128. package/packages/storefront/dist/server/chunks/{node_-eQO2yOn.mjs → node_kUJIRL0c.mjs} +1 -1
  129. package/packages/storefront/dist/server/chunks/pages/{__fI3NeWvy.mjs → __wihn0dYD.mjs} +864 -856
  130. package/packages/storefront/dist/server/chunks/pages/{_page__Piz8geXW.mjs → _page__Sb1eYhpz.mjs} +2 -2
  131. package/packages/storefront/dist/server/chunks/pages/{account_6pD7OYw-.mjs → account_-mULVQUB.mjs} +2 -2
  132. package/packages/storefront/dist/server/chunks/pages/{index_2F5yi6YO.mjs → index_mQXYNYRg.mjs} +4 -4
  133. package/packages/storefront/dist/server/chunks/pages/{node_-Buhxl8v.mjs → node_-qe5LuQh.mjs} +3 -3
  134. package/packages/storefront/dist/server/chunks/pages/{~fallback_okEL1qQ3.mjs → ~fallback_ad_xyGHU.mjs} +4 -4
  135. package/packages/storefront/dist/server/chunks/~fallback_EZqiEAFE.mjs +6 -0
  136. package/packages/storefront/dist/server/entry.mjs +376 -307
  137. package/packages/storefront/dist/server/manifest_RrmXPEuL.mjs +196 -0
  138. package/packages/storefront/dist/server/renderers.mjs +1 -1
  139. package/packages/storefront/package.json +7 -6
  140. package/packages/storefront/src/helpers/server-data.ts +2 -1
  141. package/packages/storefront/src/lib/components/BannerPictures.astro +7 -6
  142. package/packages/storefront/src/lib/components/CarouselControl.vue +2 -2
  143. package/packages/storefront/src/lib/components/ContentClearfix.vue +1 -1
  144. package/packages/storefront/src/lib/components/Drawer.vue +2 -2
  145. package/packages/storefront/src/lib/components/Picture.astro +2 -2
  146. package/packages/storefront/src/lib/components/QuantitySelectorControl.vue +2 -2
  147. package/packages/storefront/src/lib/components/ViewTransitions.astro +1 -0
  148. package/packages/storefront/src/lib/layouts/BaseBody.astro +3 -3
  149. package/packages/storefront/src/lib/layouts/BaseHead.astro +29 -29
  150. package/packages/storefront/src/lib/pages/_vue.ts +3 -2
  151. package/packages/test-base/package.json +1 -1
  152. package/packages/types/package.json +1 -1
  153. package/tailwind.config.cjs +5 -0
  154. package/packages/storefront/dist/client/_astro/CartSidebar.ShqcM66P.js +0 -1
  155. package/packages/storefront/dist/client/_astro/ProductDetails.TQM36pzk.js +0 -7
  156. package/packages/storefront/dist/client/_astro/ProductShelf.HX1P9sTW.js +0 -1
  157. package/packages/storefront/dist/client/_astro/ProductShelf._0iHMZBO.js +0 -1
  158. package/packages/storefront/dist/client/_astro/ShopHeader.BoPmUmjI.js +0 -7
  159. package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.40kDRyEO.js +0 -1
  160. package/packages/storefront/dist/client/_astro/_slug_.PTG68eA8.css +0 -1
  161. package/packages/storefront/dist/client/_astro/client.nPN_zw-c.js +0 -1
  162. package/packages/storefront/dist/client/_astro/hoisted.FcmEawNA.js +0 -1
  163. package/packages/storefront/dist/client/_astro/name.itYHl42A.js +0 -1
  164. package/packages/storefront/dist/client/_astro/runtime-core.esm-bundler.Pr2hdd7G.js +0 -1
  165. package/packages/storefront/dist/client/_astro/sf-utils.yjuG8NjM.js +0 -1
  166. package/packages/storefront/dist/client/_astro/use-text-value.ZIz7zsXT.js +0 -4
  167. package/packages/storefront/dist/server/chunks/~fallback_M-xiy2GE.mjs +0 -6
  168. package/packages/storefront/dist/server/manifest_oV2meNKS.mjs +0 -196
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <footer class="bg-base-50 border-base-100 mt-auto w-screen border-t py-2">
2
+ <footer class="border-base-100 bg-base-50 mt-auto w-screen border-t py-2">
3
3
  <div class="ui-section">
4
4
  <div class="border-base-200 flex flex-wrap justify-between
5
5
  gap-y-5 border-b pb-7 sm:gap-x-10 lg:flex-nowrap">
@@ -10,7 +10,10 @@
10
10
  </div>
11
11
  <div class="text-base-500 flex gap-2">
12
12
  <span v-for="(href, network) in socialNetworks" :key="network">
13
- <SocialNetworkLink :network="network" class="hover:text-primary p-1">
13
+ <SocialNetworkLink
14
+ :network="network"
15
+ class="hover:text-primary p-1"
16
+ >
14
17
  <template v-if="network === 'whatsapp'" #append>
15
18
  <span class="text-base-600 ml-1 text-sm">
16
19
  {{ $settings.whatsapp }}
@@ -30,7 +33,10 @@
30
33
  </ALink>
31
34
  </div>
32
35
  </div>
33
- <div v-if="categories?.length" class="basis-1/2 pr-2 sm:basis-auto sm:pr-0">
36
+ <div
37
+ v-if="categories?.length"
38
+ class="basis-1/2 pr-2 sm:basis-auto sm:pr-0"
39
+ >
34
40
  <div class="mb-2.5 text-lg font-medium">
35
41
  {{ categoriesColTitle || $t.i19categories }}
36
42
  </div>
@@ -40,18 +46,21 @@
40
46
  ? 'grid md:grid-cols-2 gap-x-5 gap-y-1.5' : 'space-y-1.5'"
41
47
  >
42
48
  <li v-for="({ name, slug }, i) in categories" :key="`c-${i}`">
43
- <a :href="`/${slug}`" class="ui-link text-base-600">
49
+ <a :href="`/${slug}`" class="text-base-600 ui-link">
44
50
  {{ name }}
45
51
  </a>
46
52
  </li>
47
53
  <li>
48
- <a href="/s" class="ui-link text-base-900">
54
+ <a href="/s" class="text-base-900 ui-link">
49
55
  {{ $t.i19allProducts }}
50
56
  </a>
51
57
  </li>
52
58
  </ul>
53
59
  </div>
54
- <div v-if="pageLinks?.length" class="basis-1/2 pl-2 sm:basis-auto sm:pl-0">
60
+ <div
61
+ v-if="pageLinks?.length"
62
+ class="basis-1/2 pl-2 sm:basis-auto sm:pl-0"
63
+ >
55
64
  <div class="mb-2.5 text-lg font-medium">
56
65
  {{ pagesColTitle || $t.i19institutional }}
57
66
  </div>
@@ -7,8 +7,8 @@
7
7
  isSticky ? 'py-2 shadow backdrop-blur-md md:py-3' : 'py-3 sm:py-4 md:py-5',
8
8
  ]"
9
9
  >
10
- <div class="mx-auto w-screen px-1 sm:pl-2
11
- sm:pr-2.5 lg:w-[calc(100vw-1rem)] lg:px-1 xl:max-w-[82rem] 2xl:max-w-[85rem]">
10
+ <div class="mx-auto w-screen px-1 sm:pl-2 sm:pr-2.5
11
+ lg:w-[calc(100vw-1rem)] lg:px-1 xl:max-w-[82rem] 2xl:max-w-[85rem]">
12
12
  <div class="flex items-center justify-between">
13
13
  <div
14
14
  class="basis-1/4 lg:mr-5 lg:basis-auto"
@@ -51,10 +51,10 @@
51
51
  name="q"
52
52
  v-model.trim="searchTerm"
53
53
  :placeholder="$t.i19searchProducts"
54
- class="from-secondary-50/10 to-secondary-50/80
55
- border-secondary-200 placeholder:text-secondary-700/60
56
- text-secondary-700 h-12 w-72 rounded-md bg-gradient-to-br
57
- py-2.5 pl-4 pr-10 shadow-sm lg:w-[400px]"
54
+ class="border-secondary-200 from-secondary-50/10 to-secondary-50/80 text-secondary-700
55
+ placeholder:text-secondary-700/60 h-12 w-72
56
+ rounded-md bg-gradient-to-br py-2.5 pl-4 pr-10
57
+ shadow-sm lg:w-[400px]"
58
58
  @focusin="isSearchOpen = true"
59
59
  />
60
60
  </div>
@@ -70,15 +70,15 @@
70
70
  @click="toggleSearch"
71
71
  >
72
72
  <span class="sr-only">{{ $t.i19search }}</span>
73
- <i class="i-search-3-line mb-0 h-7 w-7"></i>
73
+ <i class="i-search-3-line mb-0 size-7"></i>
74
74
  </button>
75
75
  </span>
76
76
  </form>
77
77
  <AccountMenu v-if="!isMobile" class="hidden sm:block">
78
78
  <template #button="{ open }">
79
79
  <i
80
- class="i-user-2-line text-base-600 hover:text-primary
81
- h-7 w-7 hover:scale-110 active:scale-125"
80
+ class="text-base-600 i-user-2-line hover:text-primary
81
+ size-7 hover:scale-110 active:scale-125"
82
82
  :class="open ? 'text-base-800 scale-110' : null"
83
83
  ></i>
84
84
  </template>
@@ -90,7 +90,7 @@
90
90
  class="text-primary-500 group relative"
91
91
  role="button"
92
92
  >
93
- <i class="i-shopping-bag-3-fill group-hover:text-primary h-7 w-7
93
+ <i class="i-shopping-bag-3-fill group-hover:text-primary size-7
94
94
  group-hover:scale-110 group-active:scale-125"></i>
95
95
  <span
96
96
  v-if="cartTotalItems"
@@ -2,7 +2,8 @@
2
2
  <nav>
3
3
  <ul
4
4
  class="text-base-700 flex justify-between gap-1.5"
5
- :class="inlineMenuTrees.length < 7 ? 'text-base' : 'text-sm'"
5
+ :class="inlineMenuTrees.length < 7
6
+ ? 'text-sm' : 'leading-none text-[.8rem] 2xl:text-[.85rem]'"
6
7
  >
7
8
  <li v-for="(categoryTree, i) in inlineMenuTrees" :key="i">
8
9
  <ShopHeaderSubmenu
@@ -13,9 +13,12 @@
13
13
  !transform rounded bg-white/80 px-7 py-5 text-base
14
14
  shadow backdrop-blur-md"
15
15
  :class="countMenuCols === 1 ? 'w-auto'
16
- : countMenuCols === 2 ? `w-screen ${(categoryPicture ? 'max-w-lg' : 'max-w-sm')}`
17
- : countMenuCols === 3 ? `w-screen ${(categoryPicture ? 'max-w-xl' : 'max-w-md')}`
18
- : countMenuCols < 6 ? 'w-screen max-w-3xl' : 'w-screen max-w-5xl'"
16
+ : countMenuCols === 2
17
+ ? `w-screen ${(categoryPicture ? 'max-w-lg' : 'max-w-sm')}`
18
+ : countMenuCols === 3
19
+ ? `w-screen ${(categoryPicture ? 'max-w-xl' : 'max-w-md')}`
20
+ : countMenuCols < 6
21
+ ? 'w-screen max-w-3xl' : 'w-screen max-w-5xl'"
19
22
  >
20
23
  <div class="flex w-full gap-6">
21
24
  <ul v-if="subcategoryLinks.length" class="flex-1">
@@ -25,7 +28,7 @@
25
28
  class="mb-2 text-sm"
26
29
  >
27
30
  <a :href="`/${subcategory.slug}`" class="hover:text-primary">
28
- <h3 :class="countMenuCols === 1 ? 'whitespace-nowrap' : null">
31
+ <h3 :class="countMenuCols === 1 && 'whitespace-nowrap'">
29
32
  {{ subcategory.name }}
30
33
  </h3>
31
34
  </a>
@@ -12,7 +12,7 @@
12
12
  <footer class="text-base">
13
13
  <div class="bg-base-100 flex items-center px-2 py-4">
14
14
  <AccountLink class="flex grow items-center gap-3 p-2">
15
- <i class="i-user-2-line text-base-500 m-0 text-4xl"></i>
15
+ <i class="text-base-500 i-user-2-line m-0 text-4xl"></i>
16
16
  <span class="leading-tight">
17
17
  {{ `${$t.i19hello} ${customerName || $t.i19visitor}` }}
18
18
  <small class="text-primary block font-semibold lowercase">
@@ -31,7 +31,10 @@
31
31
  </div>
32
32
  <ul class="bg-base-200 text-base-700 flex gap-3 p-4 text-xl">
33
33
  <li v-for="(href, network) in socialNetworks" :key="network">
34
- <SocialNetworkLink :network="network" class="active:text-primary p-1" />
34
+ <SocialNetworkLink
35
+ :network="network"
36
+ class="active:text-primary p-1"
37
+ />
35
38
  </li>
36
39
  </ul>
37
40
  </footer>
@@ -3,11 +3,12 @@
3
3
  <details
4
4
  v-if="categoryTree.subcategories.length"
5
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"
6
+ open:absolute open:left-0 open:top-0 open:size-full"
7
7
  @toggle="isOpen = !isOpen"
8
8
  >
9
9
  <summary
10
- class="active:bg-base-100 cursor-pointer list-none px-6 py-3 transition-colors"
10
+ class="active:bg-base-100 cursor-pointer list-none px-6
11
+ py-3 transition-colors"
11
12
  :class="isOpen ? 'bg-base-100' : null"
12
13
  >
13
14
  <i :class="!isOpen
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <div>
3
- <div v-for="(options, gridId) in variationsGrids" :key="gridId" class="mt-3">
3
+ <div
4
+ v-for="(options, gridId) in variationsGrids" :key="gridId"
5
+ class="mt-3"
6
+ >
4
7
  <span class="text-base-700 text-sm font-medium">
5
8
  {{ getGridTitle(gridId) }}:
6
9
  <strong v-if="selectedOptions[gridId]" class="text-base-800">
@@ -16,13 +19,13 @@
16
19
  ? 'border-primary ring-2'
17
20
  : null,
18
21
  gridId === 'colors'
19
- ? 'h-9 w-9 text-[0px]'
22
+ ? 'size-9 text-[0px]'
20
23
  : 'px-2.5 py-2 leading-none',
21
24
  activeVariationsGrids[gridId].includes(optionText)
22
- ? 'text-primary-950 bg-primary-100 border-primary-400'
23
- : 'text-primary-600 bg-primary-200 border-primary-300'
25
+ ? 'border-primary-400 bg-primary-100 text-primary-950'
26
+ : 'border-primary-300 bg-primary-200 text-primary-600'
24
27
  ]"
25
- :style="gridId === 'colors' ? getColorOptionBg(optionText) : undefined"
28
+ :style="gridId === 'colors' && getColorOptionBg(optionText)"
26
29
  @click="selectOption({ optionText, gridId, gridIndex: i })"
27
30
  >
28
31
  {{ optionText }}
@@ -2,9 +2,8 @@
2
2
  import { filterMainCategories } from '@@sf/composables/use-shop-header';
3
3
  import useSharedData from '@@sf/composables/use-shared-data';
4
4
  import Picture from '@@sf/components/Picture.astro';
5
- import {
5
+ import ShopFooter, {
6
6
  type Props as ShopFooterProps,
7
- default as ShopFooter,
8
7
  } from '~/components/ShopFooter.vue';
9
8
 
10
9
  const { routeContext } = Astro.locals;
@@ -30,7 +30,8 @@ const { getInlineClientJS } = await useSharedData({ field: 'categories' });
30
30
  widths={[280, 400]}
31
31
  fetchpriority="high"
32
32
  loading="eager"
33
- class="hover:drop-shadow-sm max-w-[140px] md:max-w-[200px] mx-auto md:mx-none"
33
+ class="md:mx-none mx-auto max-w-[140px]
34
+ hover:drop-shadow-sm md:max-w-[200px]"
34
35
  />
35
36
  </LogoHeading>
36
37
  </a>
@@ -8,7 +8,7 @@ import {
8
8
  ---
9
9
 
10
10
  <main>
11
- <article class="prose mx-auto px-8 pt-20 pb-32">
11
+ <article class="prose mx-auto px-8 pb-32 pt-20">
12
12
  <h1>{i19error} :/</h1>
13
13
  <p class="hidden text-xl" id="errorMsg">
14
14
  {i19errorMsg}
@@ -20,13 +20,13 @@ import {
20
20
  ... ... ...
21
21
  </p>
22
22
  <a href="/" class="text-2xl">
23
- <i class="i-arrow-right rotate-180 mr-1"></i>
23
+ <i class="i-arrow-right mr-1 rotate-180"></i>
24
24
  {i19home}
25
25
  </a>
26
26
  </article>
27
27
  <script>
28
28
  const msgId = window.location.search.includes('status=404')
29
- ? '404Msg' : '5xxMsg'
29
+ ? '404Msg' : '5xxMsg';
30
30
  document.getElementById(msgId)!.style.display = 'block';
31
31
  document.getElementById('loadingMsg')!.style.display = 'none';
32
32
  </script>
@@ -19,8 +19,8 @@ if (isSearchPage || fetchingApiContext) {
19
19
  ---
20
20
 
21
21
  <main>
22
- {Object.entries(sharedData).map(([field, value]) =>
23
- <SharedData field={field} value={value} />)}
22
+ {Object.entries(sharedData)
23
+ .map(([field, value]) => <SharedData field={field} value={value} />)}
24
24
  <Hero />
25
25
  <Sections />
26
26
  </main>
@@ -11,7 +11,7 @@ import PageHeader from '~/layouts/PageHeader.astro';
11
11
  import PageFooter from '~/layouts/PageFooter.astro';
12
12
  import Main from '~/main/Main.astro';
13
13
 
14
- let slug = Astro.params.slug || '';
14
+ const slug = Astro.params.slug || '';
15
15
  if (slug.endsWith('.map')) {
16
16
  return new Response(null, { status: 404 });
17
17
  }
@@ -39,7 +39,7 @@ export async function getStaticPaths() {
39
39
  params: { slug: undefined },
40
40
  }];
41
41
  if (!import.meta.env.BUILD_MINIMAL) {
42
- const { data } = await api.get('products?sort=-sales&fields=slug&limit=2')
42
+ const { data } = await api.get('products?sort=-sales&fields=slug&limit=2');
43
43
  data.result.forEach(({ slug }) => {
44
44
  if (slug) paths.push({ params: { slug } });
45
45
  });
@@ -57,8 +57,8 @@ export async function getStaticPaths() {
57
57
 
58
58
  <!DOCTYPE html>
59
59
  <html lang={routeContext?.lang.replace('_', '-')}>
60
- {routeContext &&
61
- <Base>
60
+ {routeContext
61
+ && <Base>
62
62
  <BaseHead slot="base-head" />
63
63
  <PageHeader />
64
64
  <Main />
@@ -1,10 +1,10 @@
1
1
  <script is:inline>
2
- window.$firebaseConfig = {
3
- apiKey: "AIzaSyBznCepiYPsZgkKaSckxaFKq1H0iHJjC4o",
4
- authDomain: "ecom2barradoce.firebaseapp.com",
5
- projectId: "ecom2barradoce",
6
- storageBucket: "ecom2barradoce.appspot.com",
7
- messagingSenderId: "29309694331",
8
- appId: "1:29309694331:web:9d7760b1b4f493e1348dde"
9
- };
2
+ window.$firebaseConfig = {
3
+ apiKey: "AIzaSyBznCepiYPsZgkKaSckxaFKq1H0iHJjC4o",
4
+ authDomain: "ecom2barradoce.firebaseapp.com",
5
+ projectId: "ecom2barradoce",
6
+ storageBucket: "ecom2barradoce.appspot.com",
7
+ messagingSenderId: "29309694331",
8
+ appId: "1:29309694331:web:9d7760b1b4f493e1348dde",
9
+ };
10
10
  </script>
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/events": "^2.0.6",
19
- "@cloudcommerce/firebase": "^2.0.6",
20
- "@cloudcommerce/modules": "^2.0.6"
18
+ "@cloudcommerce/events": "^2.0.8",
19
+ "@cloudcommerce/firebase": "^2.0.8",
20
+ "@cloudcommerce/modules": "^2.0.8"
21
21
  }
22
22
  }
@@ -14,7 +14,12 @@
14
14
  "deploy": "cloudcommerce deploy",
15
15
  "login": "cloudcommerce login",
16
16
  "setup": "bash scripts/install.sh && cloudcommerce setup",
17
- "setup:quiet": "cloudcommerce setup --no-deploy --no-commit"
17
+ "setup:quiet": "cloudcommerce setup --no-deploy --no-commit",
18
+ "prepare": "husky install"
19
+ },
20
+ "lint-staged": {
21
+ "functions/ssr/**/*.{ts,vue,astro}": "eslint -c ./functions/ssr/.staged.eslintrc.cjs --fix",
22
+ "functions/!(ssr)/**/*.ts": "eslint --fix"
18
23
  },
19
24
  "main": "functions/index.js",
20
25
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -23,9 +28,11 @@
23
28
  "url": "https://github.com/ecomplus/cloud-commerce/issues"
24
29
  },
25
30
  "dependencies": {
26
- "@cloudcommerce/cli": "^2.0.6"
31
+ "@cloudcommerce/cli": "^2.0.8"
27
32
  },
28
33
  "devDependencies": {
29
- "@cloudcommerce/eslint": "^2.0.6"
34
+ "@cloudcommerce/eslint": "^2.0.8",
35
+ "husky": "^8.0.3",
36
+ "lint-staged": "^15.2.0"
30
37
  }
31
38
  }
@@ -0,0 +1,5 @@
1
+ process.env.STOREFRONT_BASE_DIR = './functions/ssr';
2
+
3
+ const { genTailwindConfig } = require('./functions/ssr/tailwind.config.cjs');
4
+
5
+ module.exports = genTailwindConfig();
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "command": "./node_modules/.bin/cloudcommerce dev",
6
+ "name": "Dev server",
7
+ "request": "launch",
8
+ "type": "node-terminal"
9
+ }
10
+ ]
11
+ }
@@ -2,8 +2,14 @@
2
2
  "editor.quickSuggestions": {
3
3
  "strings": true
4
4
  },
5
+ "editor.codeActionsOnSave": {
6
+ "source.fixAll.eslint": "explicit"
7
+ },
5
8
  "files.associations": {
6
9
  "*.css": "tailwindcss"
7
10
  },
8
- "css.lint.unknownAtRules": "ignore"
11
+ "css.lint.unknownAtRules": "ignore",
12
+ "git.autofetch": true,
13
+ "typescript.tsdk": "node_modules/typescript/lib",
14
+ "eslint.run": "onSave"
9
15
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloudcommerce",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "Open fair-code headless commerce platform: API-first, microservices based, event driven and cloud native",
6
6
  "main": "packages/api/lib/index.js",
7
7
  "author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
@@ -15,23 +15,28 @@
15
15
  "precommit": "bash scripts/on-version.sh"
16
16
  }
17
17
  },
18
+ "lint-staged": {
19
+ "packages/storefront/**/*.{ts,vue,astro}": "eslint -c ./packages/eslint/storefront.staged.eslintrc.cjs --fix",
20
+ "packages/!(storefront)/**/*.ts": "eslint --fix"
21
+ },
18
22
  "devDependencies": {
19
23
  "@commitlint/cli": "^18.4.4",
20
24
  "@commitlint/config-conventional": "^18.4.4",
21
25
  "@commitlint/rules": "^18.4.4",
22
- "@types/node": "^18.19.5",
26
+ "@types/node": "^18.19.7",
23
27
  "dotenv": "^16.3.1",
24
28
  "eslint": "^8.56.0",
25
29
  "husky": "^8.0.3",
30
+ "lint-staged": "^15.2.0",
26
31
  "standard-version": "^9.5.0",
27
32
  "ts-node": "^10.9.2",
28
33
  "turbo": "^1.11.3",
29
34
  "typescript": "~5.2.2",
30
35
  "uglify-js": "^3.17.4",
31
36
  "vite": "^5.0.11",
32
- "vitest": "^1.1.3",
37
+ "vitest": "^1.2.0",
33
38
  "zx": "^7.2.3",
34
- "@cloudcommerce/eslint": "2.0.7"
39
+ "@cloudcommerce/eslint": "2.0.9"
35
40
  },
36
41
  "scripts": {
37
42
  "fix-install": "bash scripts/pre-install.sh && pnpm i",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/api",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce APIs client/adapter",
6
6
  "main": "lib/api.js",
7
7
  "types": "lib/api.d.ts",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-affiliate-program",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple affiliate program",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-correios",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for Correios shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@cloudcommerce/api": "workspace:*",
28
28
  "@cloudcommerce/firebase": "workspace:*",
29
- "@google-cloud/pubsub": "^4.1.0",
29
+ "@google-cloud/pubsub": "^4.1.1",
30
30
  "axios": "^1.6.5",
31
31
  "firebase-admin": "^12.0.0",
32
32
  "firebase-functions": "^4.6.0"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-payment",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for simple custom payment methods",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-custom-shipping",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for custom shipping methods",
6
6
  "main": "lib/custom-shipping.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-datafrete",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Datafrete shipping gateway ",
6
6
  "main": "lib/datafrete.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-discounts",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for complex discount rules",
6
6
  "main": "lib/discounts.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-emails",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce default transactional email app",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-fb-conversions",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders to Facebook Conversions API",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-flash-courier",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Flash Courier",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-frenet",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for Frenet shipping calculation",
6
6
  "main": "lib/frenet.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-galaxpay",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Galax Pay for recurring payments",
6
6
  "main": "lib/galaxpay.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-google-analytics",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to send carts/orders events to GA Measurement Protocol",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-jadlog",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app for Jadlog shipping calculation",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-loyalty-points",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to handle simple loyalty points programs",
6
6
  "main": "lib/loyalty-points.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mandae",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mandaê shipping intermediator",
6
6
  "main": "lib/index.js",
7
7
  "repository": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-melhor-envio",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Melhor Envio",
6
6
  "main": "lib/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cloudcommerce/app-mercadopago",
3
3
  "type": "module",
4
- "version": "2.0.7",
4
+ "version": "2.0.9",
5
5
  "description": "E-Com Plus Cloud Commerce app to integrate Mercado Pago",
6
6
  "main": "lib/mercadopago.js",
7
7
  "exports": {