cloudcommerce 0.20.2 → 0.22.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 (198) hide show
  1. package/.gitmodules +3 -0
  2. package/.nvmrc +1 -0
  3. package/.vscode/settings.json +2 -1
  4. package/CHANGELOG.md +44 -0
  5. package/action.yml +37 -13
  6. package/ecomplus-stores/iluminim/.devcontainer/devcontainer.json +30 -0
  7. package/ecomplus-stores/iluminim/.eslintrc.cjs +3 -0
  8. package/ecomplus-stores/iluminim/.firebaserc +5 -0
  9. package/ecomplus-stores/iluminim/.github/renovate.json +5 -0
  10. package/ecomplus-stores/iluminim/.github/workflows/build-and-deploy.yml +36 -0
  11. package/ecomplus-stores/iluminim/.github/workflows/calibreapp-image-actions.yml +23 -0
  12. package/ecomplus-stores/iluminim/.gitpod.yml +12 -0
  13. package/ecomplus-stores/iluminim/.nvmrc +1 -0
  14. package/ecomplus-stores/iluminim/.vscode/extensions.json +8 -0
  15. package/ecomplus-stores/iluminim/.vscode/launch.json +11 -0
  16. package/ecomplus-stores/iluminim/.vscode/settings.json +10 -0
  17. package/ecomplus-stores/iluminim/README.md +113 -0
  18. package/ecomplus-stores/iluminim/README.pt-BR.md +113 -0
  19. package/ecomplus-stores/iluminim/functions/config.json +3 -0
  20. package/ecomplus-stores/iluminim/functions/example.env +10 -0
  21. package/ecomplus-stores/iluminim/functions/many/index.js +14 -0
  22. package/ecomplus-stores/iluminim/functions/many/package.json +22 -0
  23. package/ecomplus-stores/iluminim/functions/ssr/.eslintrc.cjs +6 -0
  24. package/ecomplus-stores/iluminim/functions/ssr/astro.config.mjs +4 -0
  25. package/ecomplus-stores/iluminim/functions/ssr/content/blog/.gitkeep +0 -0
  26. package/ecomplus-stores/iluminim/functions/ssr/content/extra-pages/.gitkeep +0 -0
  27. package/ecomplus-stores/iluminim/functions/ssr/content/layout.json +33 -0
  28. package/ecomplus-stores/iluminim/functions/ssr/content/pages/home.json +70 -0
  29. package/ecomplus-stores/iluminim/functions/ssr/content/settings.json +49 -0
  30. package/ecomplus-stores/iluminim/functions/ssr/index.js +18 -0
  31. package/ecomplus-stores/iluminim/functions/ssr/package.json +31 -0
  32. package/ecomplus-stores/iluminim/functions/ssr/public/admin/.gitkeep +2 -0
  33. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms-preview.css +274 -0
  34. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cms.css +114 -0
  35. package/ecomplus-stores/iluminim/functions/ssr/public/assets/cvv.png +0 -0
  36. package/ecomplus-stores/iluminim/functions/ssr/public/assets/img-placeholder.png +0 -0
  37. package/ecomplus-stores/iluminim/functions/ssr/public/assets/payments.png +0 -0
  38. package/ecomplus-stores/iluminim/functions/ssr/public/assets/ssl-safe.png +0 -0
  39. package/ecomplus-stores/iluminim/functions/ssr/public/img/icon.png +0 -0
  40. package/ecomplus-stores/iluminim/functions/ssr/public/img/large-icon.png +0 -0
  41. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner-chamada-desktop-9x81zmd91q.webp +0 -0
  42. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/banner2.webp +0 -0
  43. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/chamada-mobile-q1c6om6jx4.webp +0 -0
  44. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/ecom-icon.png +0 -0
  45. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/headphone.webp +0 -0
  46. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/logo.webp +0 -0
  47. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/og-image.png +0 -0
  48. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/passion.webp +0 -0
  49. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect8589.png +0 -0
  50. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect859.png +0 -0
  51. package/ecomplus-stores/iluminim/functions/ssr/public/img/uploads/rect89.webp +0 -0
  52. package/ecomplus-stores/iluminim/functions/ssr/public/robots.txt +8 -0
  53. package/ecomplus-stores/iluminim/functions/ssr/scripts/build.sh +14 -0
  54. package/ecomplus-stores/iluminim/functions/ssr/src/assets/style.css +65 -0
  55. package/ecomplus-stores/iluminim/functions/ssr/src/components/AccountMenu.vue +104 -0
  56. package/ecomplus-stores/iluminim/functions/ssr/src/components/Banner.vue +59 -0
  57. package/ecomplus-stores/iluminim/functions/ssr/src/components/BannersGrid.astro +25 -0
  58. package/ecomplus-stores/iluminim/functions/ssr/src/components/CartSidebar.vue +35 -0
  59. package/ecomplus-stores/iluminim/functions/ssr/src/components/Countdown.vue +79 -0
  60. package/ecomplus-stores/iluminim/functions/ssr/src/components/HeroSlider.vue +52 -0
  61. package/ecomplus-stores/iluminim/functions/ssr/src/components/PitchBar.vue +57 -0
  62. package/ecomplus-stores/iluminim/functions/ssr/src/components/Prices.vue +96 -0
  63. package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductCard.vue +118 -0
  64. package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductShelf.vue +60 -0
  65. package/ecomplus-stores/iluminim/functions/ssr/src/components/ProductsCountdown.vue +20 -0
  66. package/ecomplus-stores/iluminim/functions/ssr/src/components/SearchModal.vue +6 -0
  67. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeader.vue +137 -0
  68. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderMenu.vue +58 -0
  69. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopHeaderSubmenu.vue +88 -0
  70. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenav.vue +61 -0
  71. package/ecomplus-stores/iluminim/functions/ssr/src/components/ShopSidenavCategory.vue +78 -0
  72. package/ecomplus-stores/iluminim/functions/ssr/src/env.d.ts +13 -0
  73. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Base.astro +16 -0
  74. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/Checkout.astro +0 -0
  75. package/ecomplus-stores/iluminim/functions/ssr/src/layouts/PageHeader.astro +33 -0
  76. package/ecomplus-stores/iluminim/functions/ssr/src/main/Fallback.astro +10 -0
  77. package/ecomplus-stores/iluminim/functions/ssr/src/main/Home.astro +49 -0
  78. package/ecomplus-stores/iluminim/functions/ssr/src/main/Sections.astro +42 -0
  79. package/ecomplus-stores/iluminim/functions/ssr/src/main/Wildcard.astro +18 -0
  80. package/ecomplus-stores/iluminim/functions/ssr/src/pages/[...slug].astro +40 -0
  81. package/ecomplus-stores/iluminim/functions/ssr/src/pages/_vue.ts +3 -0
  82. package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/account.astro +0 -0
  83. package/ecomplus-stores/iluminim/functions/ssr/src/pages/app/index.astro +0 -0
  84. package/ecomplus-stores/iluminim/functions/ssr/src/pages/fallback.astro +25 -0
  85. package/ecomplus-stores/iluminim/functions/ssr/src/pages/index.astro +35 -0
  86. package/ecomplus-stores/iluminim/functions/ssr/src/scripts/InlineScripts.astro +10 -0
  87. package/ecomplus-stores/iluminim/functions/ssr/tailwind.config.cjs +13 -0
  88. package/ecomplus-stores/iluminim/functions/ssr/tsconfig.json +12 -0
  89. package/ecomplus-stores/iluminim/functions/ssr/uno.config.cjs +5 -0
  90. package/ecomplus-stores/iluminim/functions/with-apps/index.js +12 -0
  91. package/ecomplus-stores/iluminim/functions/with-apps/package.json +22 -0
  92. package/ecomplus-stores/iluminim/package.json +28 -0
  93. package/ecomplus-stores/iluminim/scripts/install.sh +14 -0
  94. package/ecomplus-stores/monocard/.eslintrc.cjs +3 -0
  95. package/ecomplus-stores/monocard/.nvmrc +1 -0
  96. package/ecomplus-stores/tia-sonia/.eslintrc.cjs +3 -0
  97. package/ecomplus-stores/tia-sonia/.nvmrc +1 -0
  98. package/package.json +4 -4
  99. package/packages/api/package.json +1 -1
  100. package/packages/api/types.d.ts +1 -1
  101. package/packages/apps/affilate-program/package.json +1 -1
  102. package/packages/apps/correios/package.json +1 -1
  103. package/packages/apps/custom-payment/package.json +1 -1
  104. package/packages/apps/custom-shipping/package.json +1 -1
  105. package/packages/apps/datafrete/package.json +1 -1
  106. package/packages/apps/discounts/package.json +1 -1
  107. package/packages/apps/emails/package.json +1 -1
  108. package/packages/apps/fb-conversions/package.json +1 -1
  109. package/packages/apps/flash-courier/package.json +1 -1
  110. package/packages/apps/frenet/package.json +1 -1
  111. package/packages/apps/galaxpay/package.json +1 -1
  112. package/packages/apps/google-analytics/package.json +1 -1
  113. package/packages/apps/jadlog/package.json +1 -1
  114. package/packages/apps/loyalty-points/package.json +1 -1
  115. package/packages/apps/melhor-envio/package.json +1 -1
  116. package/packages/apps/mercadopago/package.json +1 -1
  117. package/packages/apps/pagarme/package.json +1 -1
  118. package/packages/apps/paghiper/package.json +1 -1
  119. package/packages/apps/pix/package.json +1 -1
  120. package/packages/apps/tiny-erp/package.json +1 -1
  121. package/packages/apps/webhooks/package.json +1 -1
  122. package/packages/cli/config/firebase.json +10 -0
  123. package/packages/cli/package.json +1 -1
  124. package/packages/config/package.json +1 -1
  125. package/packages/emails/package.json +2 -2
  126. package/packages/events/package.json +1 -1
  127. package/packages/feeds/package.json +1 -1
  128. package/packages/firebase/package.json +1 -1
  129. package/packages/i18n/lib/en_us/i19hour.txt +1 -0
  130. package/packages/i18n/lib/en_us/i19hours.txt +1 -0
  131. package/packages/i18n/lib/en_us/i19milliseconds.txt +1 -0
  132. package/packages/i18n/lib/en_us/i19minute.txt +1 -0
  133. package/packages/i18n/lib/en_us/i19minutes.txt +1 -0
  134. package/packages/i18n/lib/en_us/i19second.txt +1 -0
  135. package/packages/i18n/lib/en_us/i19seconds.txt +1 -0
  136. package/packages/i18n/lib/en_us.d.ts +7 -0
  137. package/packages/i18n/lib/en_us.js +7 -0
  138. package/packages/i18n/lib/en_us.js.map +1 -1
  139. package/packages/i18n/lib/pt_br/i19home.txt +1 -1
  140. package/packages/i18n/lib/pt_br/i19hour.txt +1 -0
  141. package/packages/i18n/lib/pt_br/i19hours.txt +1 -0
  142. package/packages/i18n/lib/pt_br/i19milliseconds.txt +1 -0
  143. package/packages/i18n/lib/pt_br/i19minute.txt +1 -0
  144. package/packages/i18n/lib/pt_br/i19minutes.txt +1 -0
  145. package/packages/i18n/lib/pt_br/i19second.txt +1 -0
  146. package/packages/i18n/lib/pt_br/i19seconds.txt +1 -0
  147. package/packages/i18n/lib/pt_br.d.ts +8 -1
  148. package/packages/i18n/lib/pt_br.js +8 -1
  149. package/packages/i18n/lib/pt_br.js.map +1 -1
  150. package/packages/i18n/package.json +1 -1
  151. package/packages/i18n/src/en_us.ts +7 -0
  152. package/packages/i18n/src/pt_br.ts +8 -1
  153. package/packages/modules/package.json +1 -1
  154. package/packages/passport/package.json +1 -1
  155. package/packages/ssr/lib/firebase/serve-storefront.js +24 -18
  156. package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
  157. package/packages/ssr/package.json +2 -2
  158. package/packages/ssr/src/firebase/serve-storefront.ts +25 -18
  159. package/packages/storefront/.eslintrc.cjs +8 -1
  160. package/packages/storefront/client.d.ts +1 -19
  161. package/packages/storefront/dist/client/_astro/HeroSlider.0890631f.js +1 -0
  162. package/packages/storefront/dist/client/_astro/{ShopHeader.0c884bbe.js → ShopHeader.82ae97a5.js} +1 -1
  163. package/packages/storefront/dist/client/_astro/_...slug_.c85b8978.css +1 -0
  164. package/packages/storefront/dist/client/_astro/{client.8035a95a.js → client.0fb6b44e.js} +1 -1
  165. package/packages/storefront/dist/client/_astro/{hoisted.9d9d7ac4.js → hoisted.572313d6.js} +1 -1
  166. package/packages/storefront/dist/client/sw.js +1 -1
  167. package/packages/storefront/dist/server/chunks/_...7e1df40a.mjs +34 -0
  168. package/packages/storefront/dist/server/chunks/{account@_@astro.89e4cf60.mjs → account@_@astro.5f1dba7a.mjs} +7 -8
  169. package/packages/storefront/dist/server/chunks/{astro.45d3047f.mjs → astro.2d3ebf0f.mjs} +560 -511
  170. package/packages/storefront/dist/server/chunks/{endpoint@_@js.f880a152.mjs → endpoint@_@js.80de0568.mjs} +7 -8
  171. package/packages/storefront/dist/server/chunks/{fallback@_@astro.89538855.mjs → fallback@_@astro.02a45b47.mjs} +7 -8
  172. package/packages/storefront/dist/server/chunks/{index@_@astro.56fdd6da.mjs → index@_@astro.23b50301.mjs} +7 -8
  173. package/packages/storefront/dist/server/chunks/{index@_@astro.548cf7ad.mjs → index@_@astro.7cb07e52.mjs} +7 -8
  174. package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.bde9380b.mjs → _...slug_.astro.4358f614.mjs} +92 -104
  175. package/packages/storefront/dist/server/chunks/pages/{account.astro.f07cf19e.mjs → account.astro.afae5a12.mjs} +6 -6
  176. package/packages/storefront/dist/server/chunks/pages/{endpoint.js.d4e37801.mjs → endpoint.js.60fd21aa.mjs} +1 -1
  177. package/packages/storefront/dist/server/chunks/pages/{fallback.astro.e2e8a0e4.mjs → fallback.astro.e5566925.mjs} +10 -10
  178. package/packages/storefront/dist/server/chunks/pages/{index.astro.3760ebe3.mjs → index.astro.5bc6b9d8.mjs} +34 -32
  179. package/packages/storefront/dist/server/entry.mjs +13 -12
  180. package/packages/storefront/dist/server/renderers.mjs +7 -8
  181. package/packages/storefront/package.json +2 -2
  182. package/packages/storefront/server.d.ts +3 -27
  183. package/packages/storefront/src/lib/$storefront.d.ts +28 -0
  184. package/packages/storefront/src/lib/assets/base.css +2 -0
  185. package/packages/storefront/src/lib/layouts/Base.astro +1 -9
  186. package/packages/storefront/src/lib/layouts/BaseHead.astro +73 -2
  187. package/packages/storefront/src/lib/layouts/use-page-main.ts +18 -5
  188. package/packages/storefront/src/lib/pages/_vue.ts +1 -1
  189. package/packages/storefront/src/lib/server-data.ts +1 -1
  190. package/packages/storefront/src/lib/ssr-context.ts +46 -36
  191. package/packages/storefront/src/vue-globals.d.ts +3 -3
  192. package/packages/types/package.json +1 -1
  193. package/pnpm-workspace.yaml +2 -2
  194. package/packages/storefront/dist/client/_astro/HeroSlider.eb156f18.js +0 -1
  195. package/packages/storefront/dist/client/_astro/_...slug_.c2da43fb.css +0 -1
  196. package/packages/storefront/dist/server/chunks/_...9e22b578.mjs +0 -35
  197. package/packages/storefront/src/lib/composables/use-hero-slider.ts +0 -26
  198. package/packages/storefront/src/lib/layouts/BaseStateJson.astro +0 -68
@@ -0,0 +1,70 @@
1
+ {
2
+ "meta_title": "",
3
+ "meta_description": "",
4
+ "hero": {
5
+ "autoplay": 9000,
6
+ "slides": [
7
+ {
8
+ "start": "",
9
+ "end": "",
10
+ "img": "/img/uploads/banner-chamada-desktop-9x81zmd91q.webp",
11
+ "alt": "LED Ofertas - Confira preços imbatíveis",
12
+ "mobile_img": "/img/uploads/chamada-mobile-q1c6om6jx4.webp",
13
+ "href": "",
14
+ "title": "",
15
+ "subtitle": "",
16
+ "button_link": "",
17
+ "button_text": ""
18
+ },
19
+ {
20
+ "start": "",
21
+ "end": "",
22
+ "img": "/img/uploads/rect89.webp",
23
+ "alt": "Headset banner",
24
+ "mobile_img": "/img/uploads/headphone.webp",
25
+ "href": "/headset",
26
+ "title": "20% off on first purchase",
27
+ "subtitle": "At demoStore you can shop the best tech of 2023. Enjoy and get 10% off on your first purchase!",
28
+ "button_link": "/",
29
+ "button_text": "See"
30
+ }
31
+ ]
32
+ },
33
+ "sections": [
34
+ {
35
+ "type": "product-shelf",
36
+ "collection_id": null,
37
+ "sort": "-price_discount",
38
+ "title": "",
39
+ "headless": false,
40
+ "shuffle": false,
41
+ "limit": 12,
42
+ "page": 1
43
+ },
44
+ {
45
+ "type": "banners-grid",
46
+ "banners": [
47
+ {
48
+ "img": "/img/uploads/rect8589.png",
49
+ "href": "/banner-1"
50
+ },
51
+ {
52
+ "img": "/img/uploads/passion.webp",
53
+ "href": "/banner-2"
54
+ },
55
+ {
56
+ "img": "/img/uploads/rect89.webp",
57
+ "href": "/banner-3",
58
+ "mobile_img": "/img/uploads/headphone.webp"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "type": "c:products-countdown",
64
+ "skus": [
65
+ "PG-RT36WBN-30X60-KIT50",
66
+ "FII4749"
67
+ ]
68
+ }
69
+ ]
70
+ }
@@ -0,0 +1,49 @@
1
+ {
2
+ "domain": "ecom2iluminim.web.app",
3
+ "name": "Iluminim LED",
4
+ "description": "Iluminim LED",
5
+ "logo": "/img/uploads/logo.webp",
6
+ "icon": "/img/uploads/ecom-icon.png",
7
+ "primary_color": "#d00b11",
8
+ "secondary_color": "#a2373a",
9
+ "email": "",
10
+ "phone": "",
11
+ "address": "",
12
+ "corporate_name": "",
13
+ "doc_number": "",
14
+ "lang": "pt_br",
15
+ "currency": "BRL",
16
+ "currency_symbol": "R$",
17
+ "country_code": "BR",
18
+ "whatsapp": "(31) 9 8272-1558",
19
+ "instagram": "https://www.instagram.com/ecomclub/",
20
+ "facebook": "https://www.facebook.com/ecom.clubpage/",
21
+ "twitter": "",
22
+ "youtube": "https://www.youtube.com/channel/UCBlIxK5JAub0E1EX_qHdzmA",
23
+ "tiktok": "",
24
+ "pinterest": "",
25
+ "modules": {
26
+ "list_payments": {
27
+ "installments_option": {
28
+ "max_number": 12,
29
+ "monthly_interest": 0,
30
+ "min_installment": 5
31
+ },
32
+ "discount_option": {
33
+ "label": "Boleto",
34
+ "apply_at": "subtotal",
35
+ "type": "percentage",
36
+ "value": 5
37
+ },
38
+ "loyalty_points_program": {
39
+ "id": null,
40
+ "name": null,
41
+ "ratio": null,
42
+ "earn_percentage": null
43
+ }
44
+ },
45
+ "calculate_shipping": {
46
+ "free_shipping_from_value": 299.9
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,18 @@
1
+ import config from '@cloudcommerce/firebase/config';
2
+ // eslint-ignore-next-line import/no-unresolved
3
+ import { handler as renderStorefront } from './dist/server/entry.mjs';
4
+ import mergeConfig from './config.json' assert { type: 'json' };
5
+
6
+ config.set({
7
+ ...mergeConfig,
8
+ hello: 'from store',
9
+ /*
10
+ httpsFunctionOptions: {
11
+ minInstances: 1,
12
+ },
13
+ */
14
+ });
15
+
16
+ global.$renderStorefront = renderStorefront;
17
+
18
+ export * from '@cloudcommerce/ssr/firebase';
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "iluminim-ssr",
3
+ "private": true,
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "astro dev --host",
7
+ "build": "bash scripts/build.sh",
8
+ "build:static": "BUILD_OUTPUT=static astro build",
9
+ "serve": "firebase emulators:start --only functions",
10
+ "shell": "firebase functions:shell",
11
+ "start": "npm run shell",
12
+ "deploy": "firebase deploy --only functions",
13
+ "logs": "firebase functions:log"
14
+ },
15
+ "engines": {
16
+ "node": "18"
17
+ },
18
+ "main": "index.js",
19
+ "dependencies": {
20
+ "@cloudcommerce/api": "^0.21.0",
21
+ "@cloudcommerce/firebase": "^0.21.0",
22
+ "@cloudcommerce/ssr": "^0.21.0"
23
+ },
24
+ "devDependencies": {
25
+ "@cloudcommerce/i18n": "^0.21.0",
26
+ "@cloudcommerce/storefront": "^0.21.0",
27
+ "@cloudcommerce/types": "^0.21.0",
28
+ "@fontsource-variable/heebo": "^5.0.5",
29
+ "@iconify-json/carbon": "^1.1.18"
30
+ }
31
+ }
@@ -0,0 +1,2 @@
1
+ #index.html
2
+ #assets/
@@ -0,0 +1,274 @@
1
+ .ec-search-engine__count {
2
+ padding-left: .5rem;
3
+ position: relative;
4
+ line-height: 2.5;
5
+ }
6
+
7
+ .ec-search-engine__spinner {
8
+ position: absolute;
9
+ top: .4rem;
10
+ right: -3rem;
11
+ color: var(--secondary);
12
+ margin-left: 1.5rem;
13
+ width: 1.75rem;
14
+ height: 1.75rem;
15
+ }
16
+
17
+ .ec-search-engine__toggle {
18
+ color: inherit;
19
+ display: inline-block;
20
+ text-decoration: none;
21
+ -webkit-transition: opacity .15s,color .2s;
22
+ transition:opacity .15s,color .2s;
23
+ padding: 0 .5rem;
24
+ opacity: .75;
25
+ line-height: 2.5;
26
+ border: none;
27
+ }
28
+
29
+ .ec-search-engine__toggle i,
30
+ .ec-search-engine__toggle svg {
31
+ font-size: .825rem;
32
+ color: var(--gray-dark);
33
+ margin-right: .15rem;
34
+ }
35
+
36
+ .ec-search-engine__toggle:focus,
37
+ .ec-search-engine__toggle:hover {
38
+ opacity: 1;
39
+ text-decoration: none;
40
+ color: inherit;
41
+ box-shadow: none;
42
+ }
43
+
44
+ .ec-search-engine__toggle[aria-expanded=true] {
45
+ color: var(--gray-dark);
46
+ opacity: 1;
47
+ }
48
+
49
+ .ec-search-engine__results {
50
+ -webkit-transition:opacity .25s;
51
+ transition:opacity .25s;
52
+ }
53
+
54
+ .ec-search-engine__info {
55
+ margin-bottom: 1.5rem;
56
+ padding-top: 1rem;
57
+ }
58
+
59
+ .ec-search-engine__terms {
60
+ display: -webkit-box;
61
+ display: flex;
62
+ -webkit-box-pack: justify;
63
+ -ms-box-pack: justify;
64
+ -moz-box-pack: justify;
65
+ justify-content: space-between;
66
+ -webkit-box-align: center;
67
+ -moz-box-align: center;
68
+ -ms-box-align: center;
69
+ align-items: center;
70
+ }
71
+
72
+ .ec-search-engine__terms small {
73
+ font-size: .95rem;
74
+ color: var(--gray);
75
+ }
76
+
77
+ .ec-search-engine__retail {
78
+ padding-top: .5rem;
79
+ }
80
+
81
+ .ec-search-engine__item {
82
+ margin-bottom: 1rem;
83
+ }
84
+
85
+ .ec-search-engine__sidebar {
86
+ position: fixed;
87
+ width: 280px;
88
+ max-width: 100%;
89
+ height: 100%;
90
+ top: 0;
91
+ right: 0;
92
+ z-index: 1100;
93
+ border-radius: 0;
94
+ }
95
+
96
+ .ec-search-engine__sidebar .card-body {
97
+ overflow-y: auto;
98
+ }
99
+
100
+ .ec-search-engine__filter:not(:first-child) {
101
+ margin-top: 1rem;
102
+ }
103
+
104
+ .ec-search-engine__filter:last-child {
105
+ margin-bottom: 1.5rem;
106
+ }
107
+
108
+ .ec-search-engine__filter__btn {
109
+ padding-left: 0;
110
+ color: var(--secondary);
111
+ font-size: 1.2rem;
112
+ font-weight: 300;
113
+ }
114
+
115
+ .ec-search-engine__filter__btn i,
116
+ .ec-search-engine__filter__btn svg {
117
+ margin-right: .25rem;
118
+ color: var(--gray);
119
+ opacity: .6;
120
+ }
121
+
122
+ .ec-search-engine__filter__btn:focus {
123
+ box-shadow: none;
124
+ }
125
+
126
+ .ec-search-engine__option small {
127
+ color: var(--gray);
128
+ }
129
+
130
+ .ec-product-card {
131
+ position: relative;
132
+ padding-bottom: .1rem;
133
+ margin-bottom: 0;
134
+ }
135
+
136
+ .ec-product-card--inactive,
137
+ .ec-product-card--inactive img {
138
+ opacity: .7;
139
+ }
140
+
141
+ .ec-product-card__offer-stamp {
142
+ background-color: var(--success);
143
+ color: var(--success-yiq);
144
+ min-width: 40px;
145
+ font-size: .78rem;
146
+ line-height: 1.8;
147
+ text-align: center;
148
+ position: absolute;
149
+ z-index: 9;
150
+ top: .35rem;
151
+ right: .35rem;
152
+ border-radius: .125rem;
153
+ opacity: .9;
154
+ }
155
+
156
+ .ec-product-card__link:hover h3 {
157
+ text-decoration: underline;
158
+ }
159
+
160
+ .ec-product-card__name {
161
+ margin-top: .5rem;
162
+ font-size: .88rem;
163
+ line-height: 1.2;
164
+ height: 3.168rem;
165
+ overflow: hidden;
166
+ font-weight: 400;
167
+ display: block;
168
+ z-index: 1;
169
+ }
170
+
171
+ .ec-product-card__pictures {
172
+ display: -webkit-box;
173
+ display: flex;
174
+ background-color: var(--body-bg);
175
+ -webkit-box-align: center;
176
+ -moz-box-align: center;
177
+ -ms-box-align: center;
178
+ align-items: center;
179
+ text-align: center;
180
+ overflow: hidden;
181
+ }
182
+
183
+ @media (max-width:575.98px) {
184
+ .ec-product-card__pictures {
185
+ height: 180px;
186
+ }
187
+ }
188
+
189
+ @media (min-width:576px) and (max-width:991.98px) {
190
+ .ec-product-card__pictures {
191
+ height: 200px;
192
+ }
193
+ }
194
+
195
+ @media (min-width: 992px) {
196
+ .ec-product-card__pictures {
197
+ height: 250px;
198
+ }
199
+ }
200
+
201
+ .ec-product-card__picture {
202
+ display: block;
203
+ -webkit-box-flex: 0;
204
+ -ms-box-flex: 0;
205
+ -moz-box-flex: 0;
206
+ flex: 0 0 100%;
207
+ opacity: 0;
208
+ -webkit-transition:opacity .25s;
209
+ transition:opacity .25s;
210
+ }
211
+
212
+ .ec-product-card__picture:first-child {
213
+ opacity: 1;
214
+ }
215
+
216
+ @media (max-width: 300px) {
217
+ .ec-product-card__picture {
218
+ max-width: 100px;
219
+ }
220
+ }
221
+
222
+ @media (max-width: 575.98px) {
223
+ .ec-product-card__picture img {
224
+ max-height: 180px;
225
+ }
226
+ }
227
+
228
+ @media (min-width: 576px) and (max-width: 991.98px) {
229
+ .ec-product-card__picture img {
230
+ max-height: 200px;
231
+ }
232
+ }
233
+
234
+ @media (min-width: 992px) {
235
+ .ec-product-card__picture img {
236
+ max-height:250px;
237
+ }
238
+ }
239
+
240
+ .ec-product-card__prices {
241
+ margin-bottom: .15rem;
242
+ height: 4.95rem;
243
+ overflow: hidden;
244
+ white-space: nowrap;
245
+ }
246
+
247
+ .ec-product-card__prices .ec-prices__value:first-child {
248
+ margin-top: 1.14rem;
249
+ }
250
+
251
+ .ec-product-card:hover .ec-product-card__picture {
252
+ display: none;
253
+ }
254
+
255
+ .ec-product-card:hover .ec-product-card__picture:last-child {
256
+ display: block;
257
+ opacity: 1;
258
+ }
259
+
260
+ .ec-product-card:hover .ec-product-card__buy {
261
+ opacity: 1;
262
+ }
263
+
264
+ svg:not(:root).svg-inline--fa {
265
+ overflow: visible;
266
+ }
267
+
268
+ .svg-inline--fa {
269
+ display: inline-block;
270
+ font-size: inherit;
271
+ height: 1em;
272
+ overflow: visible;
273
+ vertical-align: -0.125em;
274
+ }
@@ -0,0 +1,114 @@
1
+ .loading {
2
+ position: fixed;
3
+ z-index: 9999;
4
+ height: 2em;
5
+ width: 2em;
6
+ overflow: show;
7
+ margin: auto;
8
+ top: 0;
9
+ left: 0;
10
+ bottom: 0;
11
+ right: 0;
12
+ }
13
+
14
+ .loading:before {
15
+ content: '';
16
+ display: block;
17
+ position: fixed;
18
+ top: 0;
19
+ left: 0;
20
+ width: 100%;
21
+ height: 100%;
22
+ background: radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0, .8));
23
+ background: -webkit-radial-gradient(rgba(20, 20, 20,.8), rgba(0, 0, 0,.8));
24
+ }
25
+
26
+ .loading:not(:required) {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+
34
+ .loading:not(:required):after {
35
+ content: '';
36
+ display: block;
37
+ font-size: 10px;
38
+ width: 1em;
39
+ height: 1em;
40
+ margin-top: -0.5em;
41
+ -webkit-animation: spinner 150ms infinite linear;
42
+ -moz-animation: spinner 150ms infinite linear;
43
+ -ms-animation: spinner 150ms infinite linear;
44
+ -o-animation: spinner 150ms infinite linear;
45
+ animation: spinner 150ms infinite linear;
46
+ border-radius: 0.5em;
47
+ -webkit-box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
48
+ box-shadow: rgba(255,255,255, 0.75) 1.5em 0 0 0, rgba(255,255,255, 0.75) 1.1em 1.1em 0 0, rgba(255,255,255, 0.75) 0 1.5em 0 0, rgba(255,255,255, 0.75) -1.1em 1.1em 0 0, rgba(255,255,255, 0.75) -1.5em 0 0 0, rgba(255,255,255, 0.75) -1.1em -1.1em 0 0, rgba(255,255,255, 0.75) 0 -1.5em 0 0, rgba(255,255,255, 0.75) 1.1em -1.1em 0 0;
49
+ }
50
+
51
+ @-webkit-keyframes spinner {
52
+ 0% {
53
+ -webkit-transform: rotate(0deg);
54
+ -moz-transform: rotate(0deg);
55
+ -ms-transform: rotate(0deg);
56
+ -o-transform: rotate(0deg);
57
+ transform: rotate(0deg);
58
+ }
59
+ 100% {
60
+ -webkit-transform: rotate(360deg);
61
+ -moz-transform: rotate(360deg);
62
+ -ms-transform: rotate(360deg);
63
+ -o-transform: rotate(360deg);
64
+ transform: rotate(360deg);
65
+ }
66
+ }
67
+ @-moz-keyframes spinner {
68
+ 0% {
69
+ -webkit-transform: rotate(0deg);
70
+ -moz-transform: rotate(0deg);
71
+ -ms-transform: rotate(0deg);
72
+ -o-transform: rotate(0deg);
73
+ transform: rotate(0deg);
74
+ }
75
+ 100% {
76
+ -webkit-transform: rotate(360deg);
77
+ -moz-transform: rotate(360deg);
78
+ -ms-transform: rotate(360deg);
79
+ -o-transform: rotate(360deg);
80
+ transform: rotate(360deg);
81
+ }
82
+ }
83
+ @-o-keyframes spinner {
84
+ 0% {
85
+ -webkit-transform: rotate(0deg);
86
+ -moz-transform: rotate(0deg);
87
+ -ms-transform: rotate(0deg);
88
+ -o-transform: rotate(0deg);
89
+ transform: rotate(0deg);
90
+ }
91
+ 100% {
92
+ -webkit-transform: rotate(360deg);
93
+ -moz-transform: rotate(360deg);
94
+ -ms-transform: rotate(360deg);
95
+ -o-transform: rotate(360deg);
96
+ transform: rotate(360deg);
97
+ }
98
+ }
99
+ @keyframes spinner {
100
+ 0% {
101
+ -webkit-transform: rotate(0deg);
102
+ -moz-transform: rotate(0deg);
103
+ -ms-transform: rotate(0deg);
104
+ -o-transform: rotate(0deg);
105
+ transform: rotate(0deg);
106
+ }
107
+ 100% {
108
+ -webkit-transform: rotate(360deg);
109
+ -moz-transform: rotate(360deg);
110
+ -ms-transform: rotate(360deg);
111
+ -o-transform: rotate(360deg);
112
+ transform: rotate(360deg);
113
+ }
114
+ }
@@ -0,0 +1,8 @@
1
+ User-agent: *
2
+ Allow: /
3
+ Disallow: /app/
4
+ Disallow: /search$
5
+ Disallow: /search?
6
+ Disallow: /search.html$
7
+ Disallow: /search.html?
8
+ Disallow: /admin/
@@ -0,0 +1,14 @@
1
+ #!/bin/bash
2
+
3
+ # workaround for cloudcommerce pnpm monorepo
4
+ filename="../../../packages/storefront/scripts/build-prod.sh"
5
+ if [[ -f $filename ]]; then
6
+ sh $filename
7
+ elif [[ -f "../$filename" ]]; then
8
+ sh "../$filename"
9
+ else
10
+ echo '> npx storefront build'
11
+ npx storefront build
12
+ fi
13
+
14
+ exit 0
@@ -0,0 +1,65 @@
1
+ :root {
2
+ --custom-font-sans: "Heebo Variable";
3
+ }
4
+ html {
5
+ scroll-behavior: smooth;
6
+ }
7
+ body {
8
+ overflow-x: hidden;
9
+ }
10
+ a, button, button > * {
11
+ transition: background-color var(--transition),
12
+ color var(--transition), border-color var(--transition),
13
+ opacity var(--transition), transform var(--transition-fast);
14
+ }
15
+
16
+ .ui-link {
17
+ @apply not-prose font-semibold text-primary underline underline-offset-4
18
+ hover:text-primary-bold active:text-primary-subtle;
19
+ }
20
+
21
+ [class*=ui-btn] {
22
+ @apply not-prose inline-block text-base font-medium px-4 py-2 rounded
23
+ border-2 border-transparent active:ring-2;
24
+ }
25
+ .ui-btn-sm {
26
+ @apply text-sm px-3 py-1.5 border-1;
27
+ }
28
+ .ui-btn-lg {
29
+ @apply font-bold px-6 py-2.5 active:ring-3;
30
+ }
31
+ .ui-btn-primary {
32
+ @apply primary border-primary hover:primary-bold ring-primary/30;
33
+ }
34
+ .ui-btn-secondary {
35
+ @apply bg-secondary-100/50 text-secondary border-secondary
36
+ hover:secondary ring-secondary/30;
37
+ }
38
+ .ui-btn-contrast {
39
+ @apply bg-white text-primary hover:bg-primary-100 ring-white/30;
40
+ }
41
+
42
+ .ui-text-brand, .ui-title {
43
+ @apply font-brand font-bold italic uppercase tracking-tight;
44
+ }
45
+ .ui-title {
46
+ @apply font-black not-prose text-3xl xl:text-5xl;
47
+ }
48
+
49
+ [class*=ui-badge] {
50
+ @apply text-center px-2.5 py-0.5 rounded-md font-semibold
51
+ inline-block bg-secondary-200 text-secondary-900;
52
+ }
53
+ [class*=ui-badge-pill] {
54
+ @apply py-0 rounded-full;
55
+ }
56
+ .ui-badge-pill-sm {
57
+ @apply text-xs min-w-[1rem] px-0.5;
58
+ }
59
+ .ui-badge-pill-lg {
60
+ @apply text-lg min-w-[1.75rem] px-2;
61
+ }
62
+
63
+ .ui-section {
64
+ @apply container mx-auto px-4 sm:px-0 my-6 md:my-8;
65
+ }