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
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx lint-staged
@@ -16,8 +16,14 @@
16
16
  "tailwindCSS.experimental.configFile": {
17
17
  "packages/storefront/tailwind.config.cjs": "packages/**",
18
18
  "store/functions/ssr/tailwind.config.cjs": "store/**",
19
- "ecomplus-stores/tia-sonia/functions/ssr/tailwind.config.cjs": "ecomplus-stores/tia-sonia/**",
20
19
  "ecomplus-stores/barra-doce/functions/ssr/tailwind.config.cjs": "ecomplus-stores/barra-doce/**"
21
20
  },
22
- "typescript.tsdk": "node_modules/typescript/lib"
21
+ "typescript.tsdk": "node_modules/typescript/lib",
22
+ "eslint.validate": [
23
+ "javascript",
24
+ "javascriptreact",
25
+ "astro",
26
+ "typescript",
27
+ "typescriptreact"
28
+ ]
23
29
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [2.0.9](https://github.com/ecomplus/cloud-commerce/compare/v2.0.8...v2.0.9) (2024-01-20)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **storefront:** Bump Astro to latest v4.2.1 ([dd6b65a](https://github.com/ecomplus/cloud-commerce/commit/dd6b65a62ae585870f4cdf00496df2f2392cf96a))
11
+ * **storefront:** Bump Vue to latest v3.4.15 ([46fd6f5](https://github.com/ecomplus/cloud-commerce/commit/46fd6f59beb95e85ef2ed4b0479f912cf8eb4fd8))
12
+ * **storefront:** Stop `click` event propagation and prevent default (a) on `<CarouselControl>` ([94defd8](https://github.com/ecomplus/cloud-commerce/commit/94defd8b6e03d1821f605325c23d9c9f42cd9881))
13
+ * **storefront:** Stop `click` event propagation on `<CarouselControl>` by default ([b44ff85](https://github.com/ecomplus/cloud-commerce/commit/b44ff85c4382ef912c434bf1f251134697156098))
14
+
15
+ ### [2.0.8](https://github.com/ecomplus/cloud-commerce/compare/v2.0.7...v2.0.8) (2024-01-17)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **deps:** Update non-major dependencies ([#307](https://github.com/ecomplus/cloud-commerce/issues/307)) ([73ef543](https://github.com/ecomplus/cloud-commerce/commit/73ef5432d509985195dc5217d3ab754661217dfd))
21
+ * **storefront:** Also prevent error on default Vue global instance setup without `$storefront` set ([9b25f5f](https://github.com/ecomplus/cloud-commerce/commit/9b25f5fc74a78a63bbcbb4f446bda09e5f339b9d))
22
+ * **storefront:** Bump Vue to latest v3.4.14 ([6b1a251](https://github.com/ecomplus/cloud-commerce/commit/6b1a25157eab3cf7bd207a10040e00a2b9ecc3e4))
23
+ * **storefront:** Prevent fatal error on `@@sf/sf-lib` import without global `$storefront` ([ca05109](https://github.com/ecomplus/cloud-commerce/commit/ca051098f63373ec23b7b898a06156abec28053c))
24
+
5
25
  ### [2.0.7](https://github.com/ecomplus/cloud-commerce/compare/v2.0.6...v2.0.7) (2024-01-12)
6
26
 
7
27
 
package/action.yml CHANGED
@@ -167,7 +167,7 @@ runs:
167
167
  name: Install codebase "ssr" dependencies
168
168
  shell: bash
169
169
  working-directory: functions/ssr
170
- run: npm ci --omit=optional
170
+ run: npm ci
171
171
 
172
172
  - if: steps.npm-cache-with-apps.outputs.cache-hit != 'true'
173
173
  name: Install codebase "with-apps" dependencies
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env sh
2
+ . "$(dirname -- "$0")/_/husky.sh"
3
+
4
+ npx lint-staged
@@ -3,11 +3,12 @@
3
3
  "strings": true
4
4
  },
5
5
  "editor.codeActionsOnSave": {
6
- "source.fixAll.eslint": true
6
+ "source.fixAll.eslint": "explicit"
7
7
  },
8
8
  "files.associations": {
9
9
  "*.css": "tailwindcss"
10
10
  },
11
11
  "css.lint.unknownAtRules": "ignore",
12
- "git.autofetch": true
12
+ "git.autofetch": true,
13
+ "typescript.tsdk": "node_modules/typescript/lib"
13
14
  }
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "main": "index.js",
17
17
  "dependencies": {
18
- "@cloudcommerce/feeds": "^2.0.6",
19
- "@cloudcommerce/firebase": "^2.0.6",
20
- "@cloudcommerce/passport": "^2.0.6"
18
+ "@cloudcommerce/feeds": "^2.0.8",
19
+ "@cloudcommerce/firebase": "^2.0.8",
20
+ "@cloudcommerce/passport": "^2.0.8"
21
21
  }
22
22
  }
@@ -0,0 +1,6 @@
1
+ module.exports = {
2
+ extends: '../../node_modules/@cloudcommerce/eslint/storefront.staged.eslintrc.cjs',
3
+ rules: {
4
+ 'import/no-extraneous-dependencies': 'off',
5
+ },
6
+ };
@@ -10,22 +10,23 @@
10
10
  "shell": "firebase functions:shell",
11
11
  "start": "npm run shell",
12
12
  "deploy": "firebase deploy --only functions",
13
- "logs": "firebase functions:log"
13
+ "logs": "firebase functions:log",
14
+ "lint:fix": "eslint -c ./.staged.eslintrc.cjs src/**/*.{ts,vue,astro} --fix"
14
15
  },
15
16
  "engines": {
16
17
  "node": "18"
17
18
  },
18
19
  "main": "index.js",
19
20
  "dependencies": {
20
- "@cloudcommerce/api": "^2.0.6",
21
- "@cloudcommerce/firebase": "^2.0.6",
22
- "@cloudcommerce/ssr": "^2.0.6",
23
- "@headlessui/vue": "^1.7.16"
21
+ "@cloudcommerce/api": "^2.0.8",
22
+ "@cloudcommerce/firebase": "^2.0.8",
23
+ "@cloudcommerce/ssr": "^2.0.8",
24
+ "@headlessui/vue": "^1.7.17"
24
25
  },
25
26
  "devDependencies": {
26
- "@cloudcommerce/i18n": "^2.0.6",
27
- "@cloudcommerce/storefront": "^2.0.6",
28
- "@cloudcommerce/types": "^2.0.6",
27
+ "@cloudcommerce/i18n": "^2.0.8",
28
+ "@cloudcommerce/storefront": "^2.0.8",
29
+ "@cloudcommerce/types": "^2.0.8",
29
30
  "@iconify-json/mingcute": "^1.1.15",
30
31
  "photoswipe": "^5.4.3"
31
32
  }
@@ -62,7 +62,10 @@
62
62
  <MenuItem as="li">
63
63
  <div class="text-base-500 flex justify-center gap-2 p-2 text-base">
64
64
  <span v-for="(href, network) in socialNetworks" :key="network">
65
- <SocialNetworkLink :network="network" class="hover:text-primary p-1" />
65
+ <SocialNetworkLink
66
+ :network="network"
67
+ class="hover:text-primary p-1"
68
+ />
66
69
  </span>
67
70
  </div>
68
71
  </MenuItem>
@@ -1,6 +1,6 @@
1
1
  <template>
2
- <article class="from-secondary-700 to-secondary-950 flex
3
- min-h-screen w-full flex-col justify-center bg-gradient-to-br">
2
+ <article class="from-secondary-700 to-secondary-950 flex min-h-screen w-full
3
+ flex-col justify-center bg-gradient-to-br">
4
4
  <div class="mx-auto p-4">
5
5
  <section class="ui-section text-center">
6
6
  <a href="/" class="text-base-200 hover:text-white">
@@ -27,7 +27,10 @@
27
27
  v-for="({ title, href }, i) in $settings.serviceLinks"
28
28
  :key="`s-${i}`"
29
29
  >
30
- <ALink :href="href" class="ui-link text-base-200 hover:text-white">
30
+ <ALink
31
+ :href="href"
32
+ class="text-base-200 ui-link hover:text-white"
33
+ >
31
34
  {{ title }}
32
35
  </ALink>
33
36
  </li>
@@ -28,7 +28,8 @@
28
28
  </Component>
29
29
  <p
30
30
  v-if="parsedSubtitle"
31
- class="text-base-800 mt-4 text-lg font-medium uppercase md:mt-6 lg:text-xl"
31
+ class="text-base-800 mt-4 text-lg font-medium uppercase
32
+ md:mt-6 lg:text-xl"
32
33
  >
33
34
  {{ parsedSubtitle }}
34
35
  </p>
@@ -1,7 +1,10 @@
1
1
  <template>
2
2
  <article class="mb-9 mt-6 md:mb-12 md:mt-8">
3
3
  <section class="ui-section">
4
- <article v-if="featured" class="mb-9 flex flex-wrap gap-x-8 lg:flex-nowrap">
4
+ <article
5
+ v-if="featured"
6
+ class="mb-9 flex flex-wrap gap-x-8 lg:flex-nowrap"
7
+ >
5
8
  <a :href="`/posts/${featured.slug}`" class="w-full max-w-[600px]">
6
9
  <AImg
7
10
  v-if="featured.thumbnail"
@@ -26,7 +29,10 @@
26
29
  --- {{ featured.author }}
27
30
  </em>
28
31
  <div class="not-prose mt-5">
29
- <a :href="`/posts/${featured.slug}`" class="ui-btn-lg ui-btn-primary">
32
+ <a
33
+ :href="`/posts/${featured.slug}`"
34
+ class="ui-btn-lg ui-btn-primary"
35
+ >
30
36
  <i class="i-chevron-right mr-1"></i>
31
37
  {{ $t.i19seeMore }}
32
38
  </a>
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <section v-if="breadcrumbs.length > 1" class="ui-section-slim">
3
- <nav aria-label="Breadcrumb" class="w-full overflow-hidden text-lg md:text-sm">
3
+ <nav
4
+ aria-label="Breadcrumb"
5
+ class="w-full overflow-hidden text-lg md:text-sm"
6
+ >
4
7
  <ol class="text-base-600 flex items-center gap-1">
5
8
  <li>
6
9
  <a href="/" class="hover:text-primary">
@@ -5,7 +5,7 @@
5
5
  v-if="image"
6
6
  :picture="image"
7
7
  :alt="title"
8
- class="h-20 w-20 object-cover"
8
+ class="size-20 object-cover"
9
9
  />
10
10
  <p class="text-base-700 group-hover:text-base-900 flex-auto py-2
11
11
  text-sm group-hover:underline">
@@ -18,8 +18,9 @@
18
18
  class="absolute right-0 top-0 p-2 opacity-70 hover:opacity-100"
19
19
  :aria-label="$t.i19remove"
20
20
  >
21
- <span class="border-3 text-danger-800 border-danger-700/30 flex h-5 w-5 flex-col
22
- justify-center rounded-full text-sm leading-none">
21
+ <span class="border-3 border-danger-700/30 text-danger-800 flex size-5
22
+ flex-col justify-center
23
+ rounded-full text-sm leading-none">
23
24
  <i class="i-close mx-auto my-0"></i>
24
25
  </span>
25
26
  </button>
@@ -49,7 +49,7 @@
49
49
  <a
50
50
  href="#"
51
51
  @click.prevent="emit('close')"
52
- class="ui-link text-base-500 hover:text-base-700 text-sm"
52
+ class="text-base-500 ui-link hover:text-base-700 text-sm"
53
53
  >
54
54
  <i class="i-arrow-right-line mr-1 rotate-180"></i>
55
55
  {{ $t.i19continueShopping }}
@@ -7,7 +7,7 @@
7
7
  <slot name="logo" />
8
8
  </a>
9
9
  <div class="flex items-center gap-2">
10
- <i class="i-shield-check-solid bg-success-400 m-0 text-3xl"></i>
10
+ <i class="bg-success-400 i-shield-check-solid m-0 text-3xl"></i>
11
11
  <span class="text-base-600 text-base">
12
12
  {{ $t.i19safeBuy }}
13
13
  </span>
@@ -24,7 +24,7 @@
24
24
  v-for="({ title, href }, i) in $settings.serviceLinks"
25
25
  :key="`s-${i}`"
26
26
  >
27
- <ALink :href="href" target="blank" class="ui-link text-base-700">
27
+ <ALink :href="href" target="blank" class="text-base-700 ui-link">
28
28
  {{ title }}
29
29
  <i class="bg-base-300 i-arrow-top-right-on-square ml-0.5"></i>
30
30
  </ALink>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <section class="ui-section">
3
3
  <article class="prose">
4
- <h1 class="ui-title not-prose my-4">{{ title }}</h1>
4
+ <h1 class="not-prose ui-title my-4">{{ title }}</h1>
5
5
  <ContentClearfix :html="html" />
6
6
  </article>
7
7
  </section>
@@ -1,16 +1,17 @@
1
1
  <template>
2
2
  <div class="ui-section">
3
- <div class="flex flex-wrap items-start justify-between gap-5 lg:flex-nowrap">
4
- <ul class="mx-auto flex items-center gap-x-6 gap-y-3
5
- overflow-x-auto md:mx-0 md:flex-wrap md:overflow-hidden lg:gap-x-8">
3
+ <div class="flex flex-wrap items-start justify-between
4
+ gap-5 lg:flex-nowrap">
5
+ <ul class="mx-auto flex items-center gap-x-6 gap-y-3 overflow-x-auto
6
+ md:mx-0 md:flex-wrap md:overflow-hidden lg:gap-x-8">
6
7
  <li v-for="(stamp, i) in stamps" :key="i">
7
8
  <ALink :href="stamp.href?.replace('{domain}', $settings.domain || '')">
8
9
  <slot :name="`picture-${i}`" />
9
10
  <span v-if="!stamp.img" class="flex items-center">
10
11
  <span
11
12
  v-if="stamp.icon"
12
- class="[&>*]:from-success-200 [&>*]:to-success-700
13
- mr-2 text-4xl [&>*]:bg-gradient-to-br"
13
+ class="[&>*]:from-success-200 [&>*]:to-success-700 mr-2
14
+ text-4xl [&>*]:bg-gradient-to-br"
14
15
  >
15
16
  <i v-if="stamp.icon === 'lock'" class="i-lock-closed"></i>
16
17
  <i v-else-if="stamp.icon === 'check'" class="i-check-badge"></i>
@@ -28,7 +29,8 @@
28
29
  </li>
29
30
  </ul>
30
31
  <div class="mx-auto flex flex-wrap items-center justify-end
31
- gap-4 overflow-x-auto text-2xl md:mx-0 md:flex-nowrap md:overflow-hidden">
32
+ gap-4 overflow-x-auto text-2xl
33
+ md:mx-0 md:flex-nowrap md:overflow-hidden">
32
34
  <PaymentMethodFlag
33
35
  v-for="paymentMethod in $settings.paymentMethods"
34
36
  :key="paymentMethod"
@@ -19,17 +19,21 @@
19
19
  <div
20
20
  v-show="slides.length > 1"
21
21
  class="absolute bottom-5 right-5 z-10 flex w-screen
22
- items-center justify-end xl:left-1/2 xl:right-auto xl:-ms-[640px] xl:max-w-screen-xl"
22
+ items-center justify-end
23
+ xl:left-1/2 xl:right-auto xl:-ms-[640px] xl:max-w-screen-xl"
23
24
  >
24
25
  <div
25
26
  class="text-primary relative h-10 w-20 rounded-full bg-white/50
26
27
  shadow-sm ring-1 ring-black/5 transition-opacity"
27
28
  :class="isMounted ? 'opacity-100' : 'opacity-20 [&>*]:cursor-wait'"
28
29
  >
29
- <CarouselControl class="hover:bg-primary/10 h-10 w-10 rounded-full" is-prev>
30
+ <CarouselControl
31
+ class="hover:bg-primary/10 size-10 rounded-full"
32
+ is-prev
33
+ >
30
34
  <i class="i-arrow-right-line rotate-180"></i>
31
35
  </CarouselControl>
32
- <CarouselControl class="hover:bg-primary/10 h-10 w-10 rounded-full">
36
+ <CarouselControl class="hover:bg-primary/10 size-10 rounded-full">
33
37
  <i class="i-arrow-right-line"></i>
34
38
  </CarouselControl>
35
39
  </div>
@@ -1,5 +1,6 @@
1
1
  <template>
2
- <div class="-mx-4 flex w-screen gap-3 sm:mx-0 sm:w-full md:h-[525px] 2xl:gap-5">
2
+ <div class="-mx-4 flex w-screen gap-3
3
+ sm:mx-0 sm:w-full md:h-[525px] 2xl:gap-5">
3
4
  <Carousel
4
5
  v-if="pictures.length > 1"
5
6
  axis="y"
@@ -22,8 +23,8 @@
22
23
  >
23
24
  <AImg
24
25
  :picture="pictures[index]"
25
- class="ring-secondary/10 h-full w-full rounded border-2
26
- object-cover opacity-90 transition-colors"
26
+ class="ring-secondary/10 size-full rounded border-2 object-cover
27
+ opacity-90 transition-colors"
27
28
  :class="index === activeIndex
28
29
  ? 'border-secondary/50 ring-4 cursor-auto'
29
30
  : 'border-transparent hover:border-primary'
@@ -36,10 +37,10 @@
36
37
  <span>
37
38
  <CarouselControl
38
39
  v-if="pictures.length > 6"
39
- class="hover:bg-primary-300/60 text-primary
40
- !bottom-3 !left-1/2 -ml-5 h-10 w-10
41
- rounded-full bg-white/60 text-xl
42
- opacity-0 shadow-sm ring-1 ring-black/5 group-hover:opacity-90"
40
+ class="text-primary hover:bg-primary-300/60
41
+ !bottom-3 !left-1/2 -ml-5 size-10 rounded-full
42
+ bg-white/60 text-xl opacity-0 shadow-sm ring-1
43
+ ring-black/5 group-hover:opacity-90"
43
44
  />
44
45
  <span class="absolute bottom-0 block h-2 w-full
45
46
  bg-gradient-to-b from-transparent to-white"></span>
@@ -51,7 +52,8 @@
51
52
  as="div"
52
53
  v-model:index="activeIndex"
53
54
  class="text-base-600 [&_i]:i-arrow-right-line mx-auto
54
- h-full w-full max-w-[525px] [&>*]:h-full [&_i]:mx-2 [&_i]:text-2xl"
55
+ size-full max-w-[525px]
56
+ [&>*]:h-full [&_i]:mx-2 [&_i]:text-2xl"
55
57
  :class="isLoadingLightbox && 'opacity-80'"
56
58
  :id="psId"
57
59
  >
@@ -71,7 +73,7 @@
71
73
  <AImg
72
74
  :picture="picture"
73
75
  preferred-size="big"
74
- class="h-full w-full rounded object-cover"
76
+ class="size-full rounded object-cover"
75
77
  :fetchpriority="i === 0 ? 'high' : 'low'"
76
78
  :loading="i === 0 ? 'eager' : 'lazy'"
77
79
  />
@@ -79,8 +81,8 @@
79
81
  </Carousel>
80
82
  <i
81
83
  v-if="isLoadingLightbox"
82
- class="i-arrow-path bg-base-200 absolute
83
- left-1/2 top-1/2 -ml-7 -mt-7 h-14 w-14 animate-spin"
84
+ class="bg-base-200 i-arrow-path absolute
85
+ left-1/2 top-1/2 -ml-7 -mt-7 size-14 animate-spin"
84
86
  :aria-label="$t.i19loading"
85
87
  ></i>
86
88
  <ul
@@ -36,7 +36,7 @@
36
36
  <a
37
37
  v-show="!isSignUp && !isLinkSignInBlocked"
38
38
  href="?password"
39
- class="ui-link text-base-500 text-right text-sm lowercase"
39
+ class="text-base-500 ui-link text-right text-sm lowercase"
40
40
  @click.prevent="isLinkSignIn = !isLinkSignIn"
41
41
  >
42
42
  {{ isLinkSignIn ? $t.i19enterWithPassword : $t.i19iForgotMyPassword }}
@@ -16,7 +16,7 @@
16
16
  <span
17
17
  v-if="parsedContents[i]"
18
18
  v-html="parsedContents[i]"
19
- class="prose text-base-800 text-sm"
19
+ class="text-base-800 prose text-sm"
20
20
  ></span>
21
21
  </ALink>
22
22
  </li>
@@ -25,7 +25,10 @@
25
25
  v-show="countValidSlides > 1"
26
26
  class="text-base-400 text-xl leading-none"
27
27
  >
28
- <CarouselControl class="bg-base-100 hover:text-base-700 pr-2" is-prev />
28
+ <CarouselControl
29
+ class="bg-base-100 hover:text-base-700 pr-2"
30
+ is-prev
31
+ />
29
32
  <CarouselControl class="bg-base-100 hover:text-base-700 pl-2" />
30
33
  </div>
31
34
  </template>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  class="text-base-600
4
- [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]"
4
+ [&>div]:[font-size:90%] [&_small]:lowercase [&_small]:[font-size:92%]"
5
5
  :class="isBig ? 'text-lg' : null"
6
6
  >
7
7
  <span v-if="comparePrice" class="text-base-500 mr-1 text-[87%]">
@@ -11,26 +11,26 @@
11
11
  >
12
12
  <div class="aspect-square p-2
13
13
  transition-transform motion-safe:group-hover:scale-110">
14
- <div class="relative h-full w-full overflow-hidden rounded bg-white
15
- group-hover:rounded-none">
14
+ <div class="relative size-full overflow-hidden
15
+ rounded bg-white group-hover:rounded-none">
16
16
  <span v-if="images?.length" class="text-xs text-opacity-70">
17
17
  <AImg
18
18
  :picture="images[0]"
19
19
  :alt="title"
20
- class="absolute left-0 top-0 block h-full w-full object-cover"
20
+ class="absolute left-0 top-0 block size-full object-cover"
21
21
  />
22
22
  <AImg
23
23
  v-if="images[1] && wasHoveredOnce"
24
24
  :picture="images[1]"
25
25
  :alt="title"
26
- class="absolute left-0 top-0 z-10 block h-full w-full
27
- object-cover text-transparent opacity-0
28
- transition-opacity group-hover:opacity-100 motion-safe:duration-300"
26
+ class="absolute left-0 top-0 z-10 block size-full
27
+ object-cover text-transparent opacity-0 transition-opacity
28
+ group-hover:opacity-100 motion-safe:duration-300"
29
29
  />
30
30
  </span>
31
31
  <div
32
32
  v-else
33
- class="from-base-50/20 to-base-100 h-full w-full bg-gradient-to-br"
33
+ class="from-base-50/20 to-base-100 size-full bg-gradient-to-br"
34
34
  />
35
35
  </div>
36
36
  </div>
@@ -38,8 +38,8 @@
38
38
  v-if="discountPercentage"
39
39
  class=":uno: bg-secondary/70 text-on-secondary absolute
40
40
  right-2 top-9 py-0.5
41
- pl-3 pr-1.5 text-xs
42
- transition-transform [clip-path:polygon(20%_0,100%_0,100%_100%,0_100%)]
41
+ pl-3 pr-1.5 text-xs transition-transform
42
+ [clip-path:polygon(20%_0,100%_0,100%_100%,0_100%)]
43
43
  group-hover:translate-x-2 group-hover:scale-110"
44
44
  >
45
45
  -<strong>{{ discountPercentage }}</strong>%
@@ -49,7 +49,7 @@
49
49
  <div v-if="isActive">
50
50
  <Prices :product="product" />
51
51
  </div>
52
- <span v-else class="ui-badge bg-warning-100 text-warning-700">
52
+ <span v-else class="bg-warning-100 text-warning-700 ui-badge">
53
53
  {{ !isInStock ? $t.i19outOfStock : $t.i19inactive }}
54
54
  </span>
55
55
  </div>
@@ -65,9 +65,9 @@
65
65
  </component>
66
66
  <button
67
67
  v-if="isActive && !hasVariations"
68
- class="lg:-top-13 primary absolute -top-12 left-1/2 z-10 -ml-7 h-14 w-14
69
- rounded-full p-2 text-3xl
70
- leading-none opacity-75 hover:opacity-100 lg:left-4 lg:ml-0"
68
+ class="lg:-top-13 primary absolute -top-12 left-1/2 z-10
69
+ -ml-7 size-14 rounded-full p-2 text-3xl leading-none
70
+ opacity-75 hover:opacity-100 lg:left-4 lg:ml-0"
71
71
  @click.stop.prevent="addProductToCart(product)"
72
72
  :aria-label="$t.i19addToCart"
73
73
  >
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
  <div class="lg:sticky-header:translate-y-14 top-0 py-4
10
10
  transition-transform lg:sticky">
11
- <h1 class="ui-text-brand text-secondary-900 text-lg">
11
+ <h1 class="text-secondary-900 ui-text-brand text-lg">
12
12
  {{ title }}
13
13
  </h1>
14
14
  <div v-if="isActive" class="mt-5">
@@ -2,7 +2,10 @@
2
2
  <section class="ui-section">
3
3
  <div v-if="title" class="mx-auto mb-4 max-w-prose text-center">
4
4
  <h2 class="ui-text-brand text-3xl">
5
- <ALink :href="titleLink" :class="titleLink ? 'ui-link' : 'text-base-700'">
5
+ <ALink
6
+ :href="titleLink"
7
+ :class="titleLink ? 'ui-link' : 'text-base-700'"
8
+ >
6
9
  {{ title }}
7
10
  </ALink>
8
11
  </h2>
@@ -23,11 +26,11 @@
23
26
  <DefineCarouselControl v-slot="{ isPrev }">
24
27
  <CarouselControl
25
28
  v-show="products.length > 2"
26
- class=":uno: text-primary lg:hover:bg-primary-200 !top-1/2 h-12
27
- w-12 rounded-full bg-transparent text-3xl leading-none
28
- ring-black/5 backdrop-blur-md
29
- transition-opacity group-hover/shelf:opacity-90
30
- lg:bg-white/80 lg:text-2xl lg:opacity-0 lg:shadow-sm lg:ring-1"
29
+ class=":uno: text-primary lg:hover:bg-primary-200 !top-1/2 size-12
30
+ rounded-full bg-transparent text-3xl leading-none ring-black/5
31
+ backdrop-blur-md transition-opacity
32
+ group-hover/shelf:opacity-90 lg:bg-white/80
33
+ lg:text-2xl lg:opacity-0 lg:shadow-sm lg:ring-1"
31
34
  :class="isPrev ? '!-left-4' : '!-right-4'"
32
35
  :is-prev="isPrev"
33
36
  />
@@ -65,7 +65,7 @@
65
65
  >
66
66
  <a
67
67
  :href="getSearchUrl(term)"
68
- class="ui-link text-base-700 text-sm font-normal"
68
+ class="text-base-700 ui-link text-sm font-normal"
69
69
  >
70
70
  {{ term }}
71
71
  </a>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <section
3
3
  v-if="searchTerm"
4
- class="ui-section-slim text-base-700 px-6 text-center text-xl lowercase"
4
+ class="text-base-700 ui-section-slim px-6 text-center text-xl lowercase"
5
5
  :class="hasFiltersBar ? 'relative z-[14] -mb-4' : 'mb-0'"
6
6
  >
7
7
  {{ $t.i19searchingFor }}
@@ -19,11 +19,10 @@
19
19
  <Fade>
20
20
  <section
21
21
  v-if="hasFiltersBar"
22
- class="ui-section-slim
23
- sticky-header:translate-y-16 lg:sticky-header:translate-y-14
24
- to-base-100 sticky top-0 z-[12] flex items-center justify-between
25
- rounded-b bg-white/80 px-6 py-4 shadow-sm backdrop-blur-sm
26
- transition-transform"
22
+ class="to-base-100 ui-section-slim sticky-header:translate-y-16 lg:sticky-header:translate-y-14 sticky top-0
23
+ z-[12] flex items-center justify-between
24
+ rounded-b bg-white/80 px-6 py-4 shadow-sm
25
+ backdrop-blur-sm transition-transform"
27
26
  >
28
27
  <strong class="text-base-700 font-medium lowercase">
29
28
  <template v-if="resultMeta.count > 1">
@@ -34,7 +33,7 @@
34
33
  </strong>
35
34
  <div class="flex items-center gap-4">
36
35
  <span class="hidden text-xl leading-none md:block">
37
- <i class="i-adjustments-horizontal text-base-600 m-0"></i>
36
+ <i class="text-base-600 i-adjustments-horizontal m-0"></i>
38
37
  </span>
39
38
  <button
40
39
  @click="isFiltersOpen = !isFiltersOpen"
@@ -49,7 +48,7 @@
49
48
  </span>
50
49
  <span
51
50
  v-if="filtersCount"
52
- class="ui-badge-pill-sm outline-secondary/80 outline-3
51
+ class="outline-3 outline-secondary/80 ui-badge-pill-sm
53
52
  absolute -right-1.5 -top-1 outline"
54
53
  >
55
54
  {{ filtersCount }}
@@ -109,7 +108,7 @@
109
108
  <Fade>
110
109
  <div
111
110
  v-if="isFetching"
112
- class="absolute left-0 top-0 z-[14] h-full w-full bg-white/40"
111
+ class="absolute left-0 top-0 z-[14] size-full bg-white/40"
113
112
  ></div>
114
113
  </Fade>
115
114
  </article>