spoko-design-system 0.8.3 → 0.8.4

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 (167) hide show
  1. package/.github/dependabot.yml +11 -11
  2. package/.github/todo.yml +3 -3
  3. package/.github/workflows/deploy.yml +39 -39
  4. package/.stackblitzrc +5 -5
  5. package/.vscode/extensions.json +5 -5
  6. package/.vscode/launch.json +11 -11
  7. package/.vscode/settings.json +5 -5
  8. package/LICENSE +21 -21
  9. package/README.md +114 -114
  10. package/astro-i18next.config.mjs +17 -17
  11. package/astro-i18next.config.ts +10 -10
  12. package/astro.config.mjs +86 -86
  13. package/dev-dist/sw.js +91 -91
  14. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  15. package/icon.config.ts +309 -309
  16. package/index.ts +66 -66
  17. package/package.json +123 -123
  18. package/public/fonts/lg.svg +53 -53
  19. package/public/fonts/vwhead-bold-demo.html +549 -549
  20. package/public/fonts/vwhead-regular-demo.html +549 -549
  21. package/public/fonts/vwtext-bold-demo.html +549 -549
  22. package/public/fonts/vwtext-regular-demo.html +549 -549
  23. package/public/github.svg +3 -3
  24. package/public/grid_dot.svg +4 -4
  25. package/public/linkedin.svg +44 -44
  26. package/public/locales/en/translation.json +8 -8
  27. package/public/locales/pl/translation.json +8 -8
  28. package/public/make-scrollable-code-focusable.js +3 -3
  29. package/public/pagefind.yml +3 -3
  30. package/public/polo.blue.svg +29 -29
  31. package/public/spoko.space.svg +71 -71
  32. package/public/twitter.svg +46 -46
  33. package/renovate.json +6 -6
  34. package/sandbox.config.json +11 -11
  35. package/src/MyComponent.astro +8 -8
  36. package/src/components/Badge.vue +19 -19
  37. package/src/components/Badges.vue +21 -21
  38. package/src/components/Breadcrumbs.vue +91 -91
  39. package/src/components/Button.vue +101 -101
  40. package/src/components/ButtonCopy.astro +183 -183
  41. package/src/components/ButtonCopy.vue +36 -36
  42. package/src/components/Card.astro +27 -27
  43. package/src/components/Carousel.astro +26 -26
  44. package/src/components/Category/CategoriesCarousel.astro +101 -101
  45. package/src/components/Category/CategoryDetails.astro +169 -169
  46. package/src/components/Category/CategoryLink.vue +28 -28
  47. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  48. package/src/components/Category/CategoryTile.astro +37 -37
  49. package/src/components/Category/CategoryViewToggler.astro +89 -89
  50. package/src/components/Category/SubCategoryLink.vue +19 -19
  51. package/src/components/Copyright.astro +12 -12
  52. package/src/components/Date.astro +7 -7
  53. package/src/components/Faq.astro +33 -33
  54. package/src/components/FaqItem.astro +80 -80
  55. package/src/components/FeaturesList.vue +37 -37
  56. package/src/components/FuckRussia.vue +62 -62
  57. package/src/components/HandDrive.astro +29 -29
  58. package/src/components/Header/Header.astro +210 -210
  59. package/src/components/Header/SkipToContent.astro +1 -1
  60. package/src/components/Headline.vue +48 -48
  61. package/src/components/Image.astro +30 -30
  62. package/src/components/LeftSidebar.astro +53 -53
  63. package/src/components/MainColors.vue +22 -22
  64. package/src/components/MainInput.vue +15 -15
  65. package/src/components/Modal.astro +27 -27
  66. package/src/components/PageContent.astro +5 -5
  67. package/src/components/PartNumber.vue +27 -27
  68. package/src/components/Post/PostCategories.astro +41 -41
  69. package/src/components/Post/PostCategories.vue +30 -30
  70. package/src/components/PostHeader.astro +103 -103
  71. package/src/components/PrCode.vue +141 -141
  72. package/src/components/Product/ProductButton.vue +18 -18
  73. package/src/components/Product/ProductCarousel.astro +35 -35
  74. package/src/components/Product/ProductEngineType.vue +42 -42
  75. package/src/components/Product/ProductImage.astro +40 -40
  76. package/src/components/Product/ProductLink.astro +101 -101
  77. package/src/components/Product/ProductLink.vue +59 -59
  78. package/src/components/Product/ProductLinkInfo.astro +37 -37
  79. package/src/components/Product/ProductNumber.astro +60 -60
  80. package/src/components/ProductCarousel.astro +38 -38
  81. package/src/components/ProductCodes.vue +39 -39
  82. package/src/components/ProductDetailName.vue +52 -52
  83. package/src/components/ProductDetailsList.vue +216 -197
  84. package/src/components/ProductTile.astro +48 -48
  85. package/src/components/Quote.vue +23 -23
  86. package/src/components/ReloadPrompt.astro +50 -50
  87. package/src/components/SlimBanner.vue +72 -72
  88. package/src/components/Table.vue +32 -32
  89. package/src/components/TableOfContents.astro +15 -15
  90. package/src/components/Translations.vue +23 -23
  91. package/src/components/flags/FlagPL.vue +3 -3
  92. package/src/components/flags/FlagUA.vue +2 -2
  93. package/src/components/layout/Container.astro +7 -7
  94. package/src/components/layout/Header.astro +80 -80
  95. package/src/config.ts +56 -56
  96. package/src/design.config.ts +98 -98
  97. package/src/env.d.ts +6 -6
  98. package/src/layouts/Layout.astro +61 -61
  99. package/src/layouts/MainLayout.astro +81 -81
  100. package/src/layouts/partials/FooterCommon.astro +4 -4
  101. package/src/layouts/partials/HeadCommon.astro +44 -44
  102. package/src/layouts/partials/HeadSEO.astro +41 -41
  103. package/src/pages/components/badges.mdx +57 -57
  104. package/src/pages/components/breadcrumbs.mdx +139 -139
  105. package/src/pages/components/buttons.mdx +360 -360
  106. package/src/pages/components/card.mdx +294 -294
  107. package/src/pages/components/carousel.mdx +62 -62
  108. package/src/pages/components/copyright.mdx +42 -42
  109. package/src/pages/components/details-list.mdx +115 -115
  110. package/src/pages/components/features-list.mdx +37 -37
  111. package/src/pages/components/flags.mdx +49 -49
  112. package/src/pages/components/fuck-russia.mdx +39 -39
  113. package/src/pages/components/hand-drive.mdx +38 -38
  114. package/src/pages/components/headline.mdx +152 -152
  115. package/src/pages/components/icons.astro +135 -135
  116. package/src/pages/components/image.mdx +513 -513
  117. package/src/pages/components/input.mdx +367 -367
  118. package/src/pages/components/jumbotron.mdx +359 -359
  119. package/src/pages/components/modal.mdx +64 -64
  120. package/src/pages/components/post-header.mdx +64 -64
  121. package/src/pages/components/pr-code.mdx +65 -65
  122. package/src/pages/components/product-number.mdx +58 -58
  123. package/src/pages/components/product-tile.mdx +51 -51
  124. package/src/pages/components/quote.mdx +33 -33
  125. package/src/pages/components/slimbanner.mdx +35 -35
  126. package/src/pages/components/table.mdx +108 -108
  127. package/src/pages/core/colors.mdx +10 -10
  128. package/src/pages/core/grid.mdx +89 -89
  129. package/src/pages/core/introduction.mdx +77 -77
  130. package/src/pages/core/shadows.astro +20 -20
  131. package/src/pages/core/typography.astro +49 -49
  132. package/src/pages/index.astro +133 -133
  133. package/src/pages/patterns/introduction.mdx +60 -60
  134. package/src/pwa.ts +12 -12
  135. package/src/styles/_variables.scss +70 -70
  136. package/src/styles/base/base.css +184 -184
  137. package/src/styles/base/grid.css +92 -92
  138. package/src/styles/base/typography.css +70 -70
  139. package/src/styles/content.css +73 -73
  140. package/src/styles/main.css +7 -7
  141. package/src/types/Product.ts +31 -31
  142. package/src/types/astro.d.ts +3 -3
  143. package/src/utils/product/getPriceFormatted.ts +15 -15
  144. package/src/utils/product/getProductChecklist.ts +17 -17
  145. package/src/utils/product/useFormatProductNumber.ts +41 -41
  146. package/src/utils/seo/getShorterDescription.ts +14 -14
  147. package/src/utils/text/formatDate.ts +5 -5
  148. package/src/utils/text/formatLocaleNumber.ts +6 -6
  149. package/src/utils/text/formatPad.ts +12 -12
  150. package/src/utils/text/getNumberFormatted.ts +33 -33
  151. package/src/utils/text/getTranslatedLink.ts +5 -5
  152. package/src/utils/text.ts +19 -19
  153. package/tailwind.config.cjs +8 -8
  154. package/tsconfig.json +28 -28
  155. package/uno-config/index.ts +259 -259
  156. package/uno-config/theme/breakpoints.ts +9 -9
  157. package/uno-config/theme/colors.ts +64 -64
  158. package/uno-config/theme/dimensions.ts +17 -17
  159. package/uno-config/theme/effects.ts +14 -14
  160. package/uno-config/theme/grid.ts +10 -10
  161. package/uno-config/theme/index.ts +28 -28
  162. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  163. package/uno-config/theme/shortcuts/components.ts +123 -123
  164. package/uno-config/theme/shortcuts/index.ts +20 -20
  165. package/uno-config/theme/shortcuts/layout.ts +64 -64
  166. package/uno-config/theme/typography.ts +29 -29
  167. package/uno.config.ts +2 -2
@@ -1,514 +1,514 @@
1
- ---
2
- title: "Jumbotron"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import Image from '../../components/Image.astro'
6
-
7
- # Image
8
-
9
- Image converted to AVIF format and resized.
10
- AVIF compresses images significantly better than older-generation formats such as WebP and JPEG.
11
-
12
- #
13
- Displaying great product images is one of the most important keys to e-Commerce success.
14
-
15
-
16
-
17
- - https://en.wikipedia.org/wiki/AVIF
18
-
19
- #
20
-
21
- You can choose the image format you need so that you do not unnecessarily load an image that is larger than the area in which you are displaying it. This ensures maximum page optimisation.
22
-
23
- - https://docs.astro.build/en/guides/images/
24
-
25
- #
26
-
27
- Use `.img--overlay` class for images on white background to make a layer with light grey overlay.
28
-
29
-
30
- ## Small Image
31
- `.img--small`
32
-
33
- <div class="component-preview">
34
- <div class="img--overlay img--4/3 img--small">
35
- <Image
36
- imageObject={
37
- {
38
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
39
- alt: 'Image Alt',
40
- height: '180',
41
- width: '240',
42
- class: 'object-cover'
43
- }
44
- }
45
- />
46
- </div>
47
-
48
-
49
- <div class="img--4/3 img--small">
50
- <Image
51
- imageObject={
52
- {
53
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
54
- alt: 'Image Alt',
55
- height: '180',
56
- width: '240',
57
- class: 'object-cover'
58
- }
59
- }
60
- />
61
- </div>
62
-
63
- <div class="img--4/3 img--small">
64
- <Image
65
- imageObject={
66
- {
67
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
68
- alt: 'Image Alt',
69
- height: '180',
70
- width: '240',
71
- class: 'object-cover'
72
- }
73
- }
74
- />
75
- </div>
76
- </div>
77
-
78
-
79
-
80
-
81
- ```js
82
- <div class="img--overlay img--4/3 img--small">
83
- <Image
84
- imageObject={
85
- {
86
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
87
- alt: 'Image Alt',
88
- height: '180',
89
- width: '240',
90
- class: 'object-cover'
91
- }
92
- }
93
- />
94
-
95
- <div class="img--4/3 img--small">
96
- <Image
97
- imageObject={
98
- {
99
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
100
- alt: 'Image Alt',
101
- height: '180',
102
- width: '240',
103
- class: 'object-cover'
104
- }
105
- }
106
- />
107
- </div>
108
-
109
- <div class="img--4/3 img--small">
110
- <Image
111
- imageObject={
112
- {
113
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
114
- alt: 'Image Alt',
115
- height: '180',
116
- width: '240',
117
- class: 'object-cover'
118
- }
119
- }
120
- />
121
- </div>
122
-
123
-
124
-
125
- </div>
126
- ```
127
-
128
-
129
- ## Medium Image
130
- `.img--medium`
131
-
132
- <div class="component-preview">
133
- <a class="img--medium img--3/2 b-l b-white" href="#">
134
- <Image
135
- imageObject={
136
- {
137
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
138
- alt: 'Image Alt',
139
- height: '180',
140
- width: '240',
141
- }
142
- }
143
- />
144
- </a>
145
-
146
- <a class="img--medium img--3/2 b-l b-white" href="#">
147
- <Image
148
- imageObject={
149
- {
150
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
151
- alt: 'Image Alt',
152
- height: '180',
153
- width: '240',
154
- class: 'bg-gray-100/70'
155
- }
156
- }
157
- />
158
- </a>
159
-
160
- <a class="img--medium img--3/2 b-l b-white" href="#">
161
- <Image
162
- imageObject={
163
- {
164
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
165
- alt: 'Image Alt',
166
- height: '180',
167
- width: '240',
168
- class: 'bg-gray-100/70'
169
- }
170
- }
171
- />
172
- </a>
173
- </div>
174
-
175
- ```ts
176
- <a class="img--medium img--3/2 b-l b-white" href="#">
177
- <Image
178
- imageObject={
179
- {
180
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
181
- alt: 'Image Alt',
182
- height: '180',
183
- width: '240',
184
- }
185
- }
186
- />
187
- </a>
188
-
189
- <a class="img--medium img--3/2 b-l b-white" href="#">
190
- <Image
191
- imageObject={
192
- {
193
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
194
- alt: 'Image Alt',
195
- height: '180',
196
- width: '240',
197
- class: 'bg-gray-100/70'
198
- }
199
- }
200
- />
201
- </a>
202
-
203
- <a class="img--medium img--3/2 b-l b-white" href="#">
204
- <Image
205
- imageObject={
206
- {
207
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
208
- alt: 'Image Alt',
209
- height: '180',
210
- width: '240',
211
- class: 'bg-gray-100/70'
212
- }
213
- }
214
- />
215
- </a>
216
- ```
217
-
218
- ## Responsive Image with srcset
219
- - https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes
220
-
221
- <div class="component-preview">
222
- <div class="h-full img--3/2 overflow-hidden">
223
- <Image
224
- imageObject={
225
- {
226
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
227
- alt: 'Image Alt',
228
- height: '1350',
229
- width: '1800',
230
- class: 'bg-gray-100/70',
231
- srcset: [430, 690, 960, 1200, 1800]
232
- }
233
- }
234
- />
235
- </div>
236
- </div>
237
-
238
- ```js
239
- <Image
240
- imageObject={
241
- {
242
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
243
- alt: 'Image Alt',
244
- height: '1350',
245
- width: '1800',
246
- class: 'bg-gray-100/70',
247
- srcset: [430, 690, 960, 1200, 1800]
248
- }
249
- }
250
- />
251
- ```
252
-
253
-
254
-
255
- ## Image Aspect Ratios
256
-
257
- Image ratio, also known as aspect ratio, is how wide an image is in relation to how tall it is.
258
- For viewing on a mobile device, the recommended image ratio is 1:1 (a square picture).
259
-
260
- #
261
- Ready-made CSS classes:
262
-
263
- - `img--1/1`
264
- - `img--2/3`
265
- - `img--3/1`
266
- - `img--3/2`
267
- - `img--3/4`
268
- - `img--4/3`
269
- - `img--16/9`
270
-
271
-
272
- <div class="component-preview">
273
- <div class="columns-2 lg:columns-4 w-full">
274
- <div class="text-center mb-4">
275
- <div class="img--medium img--1/1 b-l b-white w-full">
276
- <Image
277
- imageObject={
278
- {
279
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
280
- alt: 'Image Alt',
281
- height: '700',
282
- width: '700',
283
- }
284
- }
285
- />
286
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">1:1</div>
287
- </div>
288
- </div>
289
-
290
- <div class="text-center mb-4">
291
- <div class="img--medium img--3/1 b-l b-white w-full">
292
- <Image
293
- imageObject={
294
- {
295
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
296
- alt: 'Image Alt',
297
- height: '700',
298
- width: '700',
299
- }
300
- }
301
- />
302
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:1</div>
303
- </div>
304
- </div>
305
-
306
- <div class="text-center mb-4">
307
- <div class="img--medium img--4/3 b-l b-white w-full">
308
- <Image
309
- imageObject={
310
- {
311
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
312
- alt: 'Image Alt',
313
- height: '700',
314
- width: '700',
315
- }
316
- }
317
- />
318
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">4:3</div>
319
- </div>
320
- </div>
321
- <div class="text-center mb-4">
322
- <div class="img--medium img--3/2 b-l b-white w-full">
323
- <Image
324
- imageObject={
325
- {
326
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
327
- alt: 'Image Alt',
328
- height: '700',
329
- width: '700',
330
- }
331
- }
332
- />
333
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:2</div>
334
- </div>
335
- </div>
336
-
337
- <div class="text-center mb-4">
338
- <div class="img--medium img--16/9 b-l b-white w-full">
339
- <Image
340
- imageObject={
341
- {
342
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
343
- alt: 'Image Alt',
344
- height: '700',
345
- width: '700',
346
- }
347
- }
348
- />
349
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">16:9</div>
350
- </div>
351
- </div>
352
- <div class="text-center mb-4">
353
- <div class="img--medium img--3/4 b-l b-white w-full">
354
- <Image
355
- imageObject={
356
- {
357
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
358
- alt: 'Image Alt',
359
- height: '700',
360
- width: '700',
361
- }
362
- }
363
- />
364
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:4</div>
365
- </div>
366
- </div>
367
- <div class="text-center mb-4">
368
- <div class="img--medium img--2/3 b-l b-white w-full">
369
- <Image
370
- imageObject={
371
- {
372
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
373
- alt: 'Image Alt',
374
- height: '700',
375
- width: '700',
376
- }
377
- }
378
- />
379
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">2:3</div>
380
- </div>
381
- </div>
382
- </div>
383
- </div>
384
-
385
-
386
- ```js
387
- <div class="img--medium img--1/1 b-l b-white w-full">
388
- <Image
389
- imageObject={
390
- {
391
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
392
- alt: 'Image Alt',
393
- height: '700',
394
- width: '700',
395
- }
396
- }
397
- />
398
- </div>
399
-
400
- <div class="img--medium img--3/1 b-l b-white w-full">
401
- <Image
402
- imageObject={
403
- {
404
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
405
- alt: 'Image Alt',
406
- height: '700',
407
- width: '700',
408
- }
409
- }
410
- />
411
- </div>
412
-
413
- <div class="img--medium img--4/3 b-l b-white w-full">
414
- <Image
415
- imageObject={
416
- {
417
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
418
- alt: 'Image Alt',
419
- height: '700',
420
- width: '700',
421
- }
422
- }
423
- />
424
- </div>
425
-
426
- <div class="img--medium img--3/2 b-l b-white w-full">
427
- <Image
428
- imageObject={
429
- {
430
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
431
- alt: 'Image Alt',
432
- height: '700',
433
- width: '700',
434
- }
435
- }
436
- />
437
- </div>
438
-
439
- <div class="img--medium img--16/9 b-l b-white w-full">
440
- <Image
441
- imageObject={
442
- {
443
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
444
- alt: 'Image Alt',
445
- height: '300',
446
- width: '300',
447
- }
448
- }
449
- />
450
- </div>
451
-
452
- <div class="img--medium img--3/4 b-l b-white w-full">
453
- <Image
454
- imageObject={
455
- {
456
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
457
- alt: 'Image Alt',
458
- height: '700',
459
- width: '700',
460
- }
461
- }
462
- />
463
- </div>
464
-
465
- <div class="img--medium img--2/3 b-l b-white w-full">
466
- <Image
467
- imageObject={
468
- {
469
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
470
- alt: 'Image Alt',
471
- height: '700',
472
- width: '700',
473
- }
474
- }
475
- />
476
- </div>
477
-
478
- ```
479
-
480
-
481
- It is good to have all the images in the same ratio so that they look fairly uniform. Additionally, you can use a different ratio on desktop than on mobile view.
482
-
483
- ### Image 1:1 on mobile, and 4:3 on desktop
484
-
485
- <div class="component-preview">
486
- <div class="columns-1 md:columns-3">
487
- <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
488
- <Image
489
- imageObject={
490
- {
491
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
492
- alt: 'Image Alt',
493
- height: '700',
494
- width: '700',
495
- }
496
- }
497
- />
498
- </div>
499
- </div>
500
- </div>
501
- ```js
502
- <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
503
- <Image
504
- imageObject={
505
- {
506
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
507
- alt: 'Image Alt',
508
- height: '700',
509
- width: '700',
510
- }
511
- }
512
- />
513
- </div>
1
+ ---
2
+ title: "Jumbotron"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Image from '../../components/Image.astro'
6
+
7
+ # Image
8
+
9
+ Image converted to AVIF format and resized.
10
+ AVIF compresses images significantly better than older-generation formats such as WebP and JPEG.
11
+
12
+ #
13
+ Displaying great product images is one of the most important keys to e-Commerce success.
14
+
15
+
16
+
17
+ - https://en.wikipedia.org/wiki/AVIF
18
+
19
+ #
20
+
21
+ You can choose the image format you need so that you do not unnecessarily load an image that is larger than the area in which you are displaying it. This ensures maximum page optimisation.
22
+
23
+ - https://docs.astro.build/en/guides/images/
24
+
25
+ #
26
+
27
+ Use `.img--overlay` class for images on white background to make a layer with light grey overlay.
28
+
29
+
30
+ ## Small Image
31
+ `.img--small`
32
+
33
+ <div class="component-preview">
34
+ <div class="img--overlay img--4/3 img--small">
35
+ <Image
36
+ imageObject={
37
+ {
38
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
39
+ alt: 'Image Alt',
40
+ height: '180',
41
+ width: '240',
42
+ class: 'object-cover'
43
+ }
44
+ }
45
+ />
46
+ </div>
47
+
48
+
49
+ <div class="img--4/3 img--small">
50
+ <Image
51
+ imageObject={
52
+ {
53
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
54
+ alt: 'Image Alt',
55
+ height: '180',
56
+ width: '240',
57
+ class: 'object-cover'
58
+ }
59
+ }
60
+ />
61
+ </div>
62
+
63
+ <div class="img--4/3 img--small">
64
+ <Image
65
+ imageObject={
66
+ {
67
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
68
+ alt: 'Image Alt',
69
+ height: '180',
70
+ width: '240',
71
+ class: 'object-cover'
72
+ }
73
+ }
74
+ />
75
+ </div>
76
+ </div>
77
+
78
+
79
+
80
+
81
+ ```js
82
+ <div class="img--overlay img--4/3 img--small">
83
+ <Image
84
+ imageObject={
85
+ {
86
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
87
+ alt: 'Image Alt',
88
+ height: '180',
89
+ width: '240',
90
+ class: 'object-cover'
91
+ }
92
+ }
93
+ />
94
+
95
+ <div class="img--4/3 img--small">
96
+ <Image
97
+ imageObject={
98
+ {
99
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
100
+ alt: 'Image Alt',
101
+ height: '180',
102
+ width: '240',
103
+ class: 'object-cover'
104
+ }
105
+ }
106
+ />
107
+ </div>
108
+
109
+ <div class="img--4/3 img--small">
110
+ <Image
111
+ imageObject={
112
+ {
113
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
114
+ alt: 'Image Alt',
115
+ height: '180',
116
+ width: '240',
117
+ class: 'object-cover'
118
+ }
119
+ }
120
+ />
121
+ </div>
122
+
123
+
124
+
125
+ </div>
126
+ ```
127
+
128
+
129
+ ## Medium Image
130
+ `.img--medium`
131
+
132
+ <div class="component-preview">
133
+ <a class="img--medium img--3/2 b-l b-white" href="#">
134
+ <Image
135
+ imageObject={
136
+ {
137
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
138
+ alt: 'Image Alt',
139
+ height: '180',
140
+ width: '240',
141
+ }
142
+ }
143
+ />
144
+ </a>
145
+
146
+ <a class="img--medium img--3/2 b-l b-white" href="#">
147
+ <Image
148
+ imageObject={
149
+ {
150
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
151
+ alt: 'Image Alt',
152
+ height: '180',
153
+ width: '240',
154
+ class: 'bg-gray-100/70'
155
+ }
156
+ }
157
+ />
158
+ </a>
159
+
160
+ <a class="img--medium img--3/2 b-l b-white" href="#">
161
+ <Image
162
+ imageObject={
163
+ {
164
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
165
+ alt: 'Image Alt',
166
+ height: '180',
167
+ width: '240',
168
+ class: 'bg-gray-100/70'
169
+ }
170
+ }
171
+ />
172
+ </a>
173
+ </div>
174
+
175
+ ```ts
176
+ <a class="img--medium img--3/2 b-l b-white" href="#">
177
+ <Image
178
+ imageObject={
179
+ {
180
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
181
+ alt: 'Image Alt',
182
+ height: '180',
183
+ width: '240',
184
+ }
185
+ }
186
+ />
187
+ </a>
188
+
189
+ <a class="img--medium img--3/2 b-l b-white" href="#">
190
+ <Image
191
+ imageObject={
192
+ {
193
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
194
+ alt: 'Image Alt',
195
+ height: '180',
196
+ width: '240',
197
+ class: 'bg-gray-100/70'
198
+ }
199
+ }
200
+ />
201
+ </a>
202
+
203
+ <a class="img--medium img--3/2 b-l b-white" href="#">
204
+ <Image
205
+ imageObject={
206
+ {
207
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
208
+ alt: 'Image Alt',
209
+ height: '180',
210
+ width: '240',
211
+ class: 'bg-gray-100/70'
212
+ }
213
+ }
214
+ />
215
+ </a>
216
+ ```
217
+
218
+ ## Responsive Image with srcset
219
+ - https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes
220
+
221
+ <div class="component-preview">
222
+ <div class="h-full img--3/2 overflow-hidden">
223
+ <Image
224
+ imageObject={
225
+ {
226
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
227
+ alt: 'Image Alt',
228
+ height: '1350',
229
+ width: '1800',
230
+ class: 'bg-gray-100/70',
231
+ srcset: [430, 690, 960, 1200, 1800]
232
+ }
233
+ }
234
+ />
235
+ </div>
236
+ </div>
237
+
238
+ ```js
239
+ <Image
240
+ imageObject={
241
+ {
242
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
243
+ alt: 'Image Alt',
244
+ height: '1350',
245
+ width: '1800',
246
+ class: 'bg-gray-100/70',
247
+ srcset: [430, 690, 960, 1200, 1800]
248
+ }
249
+ }
250
+ />
251
+ ```
252
+
253
+
254
+
255
+ ## Image Aspect Ratios
256
+
257
+ Image ratio, also known as aspect ratio, is how wide an image is in relation to how tall it is.
258
+ For viewing on a mobile device, the recommended image ratio is 1:1 (a square picture).
259
+
260
+ #
261
+ Ready-made CSS classes:
262
+
263
+ - `img--1/1`
264
+ - `img--2/3`
265
+ - `img--3/1`
266
+ - `img--3/2`
267
+ - `img--3/4`
268
+ - `img--4/3`
269
+ - `img--16/9`
270
+
271
+
272
+ <div class="component-preview">
273
+ <div class="columns-2 lg:columns-4 w-full">
274
+ <div class="text-center mb-4">
275
+ <div class="img--medium img--1/1 b-l b-white w-full">
276
+ <Image
277
+ imageObject={
278
+ {
279
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
280
+ alt: 'Image Alt',
281
+ height: '700',
282
+ width: '700',
283
+ }
284
+ }
285
+ />
286
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">1:1</div>
287
+ </div>
288
+ </div>
289
+
290
+ <div class="text-center mb-4">
291
+ <div class="img--medium img--3/1 b-l b-white w-full">
292
+ <Image
293
+ imageObject={
294
+ {
295
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
296
+ alt: 'Image Alt',
297
+ height: '700',
298
+ width: '700',
299
+ }
300
+ }
301
+ />
302
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:1</div>
303
+ </div>
304
+ </div>
305
+
306
+ <div class="text-center mb-4">
307
+ <div class="img--medium img--4/3 b-l b-white w-full">
308
+ <Image
309
+ imageObject={
310
+ {
311
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
312
+ alt: 'Image Alt',
313
+ height: '700',
314
+ width: '700',
315
+ }
316
+ }
317
+ />
318
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">4:3</div>
319
+ </div>
320
+ </div>
321
+ <div class="text-center mb-4">
322
+ <div class="img--medium img--3/2 b-l b-white w-full">
323
+ <Image
324
+ imageObject={
325
+ {
326
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
327
+ alt: 'Image Alt',
328
+ height: '700',
329
+ width: '700',
330
+ }
331
+ }
332
+ />
333
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:2</div>
334
+ </div>
335
+ </div>
336
+
337
+ <div class="text-center mb-4">
338
+ <div class="img--medium img--16/9 b-l b-white w-full">
339
+ <Image
340
+ imageObject={
341
+ {
342
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
343
+ alt: 'Image Alt',
344
+ height: '700',
345
+ width: '700',
346
+ }
347
+ }
348
+ />
349
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">16:9</div>
350
+ </div>
351
+ </div>
352
+ <div class="text-center mb-4">
353
+ <div class="img--medium img--3/4 b-l b-white w-full">
354
+ <Image
355
+ imageObject={
356
+ {
357
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
358
+ alt: 'Image Alt',
359
+ height: '700',
360
+ width: '700',
361
+ }
362
+ }
363
+ />
364
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:4</div>
365
+ </div>
366
+ </div>
367
+ <div class="text-center mb-4">
368
+ <div class="img--medium img--2/3 b-l b-white w-full">
369
+ <Image
370
+ imageObject={
371
+ {
372
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
373
+ alt: 'Image Alt',
374
+ height: '700',
375
+ width: '700',
376
+ }
377
+ }
378
+ />
379
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">2:3</div>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ </div>
384
+
385
+
386
+ ```js
387
+ <div class="img--medium img--1/1 b-l b-white w-full">
388
+ <Image
389
+ imageObject={
390
+ {
391
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
392
+ alt: 'Image Alt',
393
+ height: '700',
394
+ width: '700',
395
+ }
396
+ }
397
+ />
398
+ </div>
399
+
400
+ <div class="img--medium img--3/1 b-l b-white w-full">
401
+ <Image
402
+ imageObject={
403
+ {
404
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
405
+ alt: 'Image Alt',
406
+ height: '700',
407
+ width: '700',
408
+ }
409
+ }
410
+ />
411
+ </div>
412
+
413
+ <div class="img--medium img--4/3 b-l b-white w-full">
414
+ <Image
415
+ imageObject={
416
+ {
417
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
418
+ alt: 'Image Alt',
419
+ height: '700',
420
+ width: '700',
421
+ }
422
+ }
423
+ />
424
+ </div>
425
+
426
+ <div class="img--medium img--3/2 b-l b-white w-full">
427
+ <Image
428
+ imageObject={
429
+ {
430
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
431
+ alt: 'Image Alt',
432
+ height: '700',
433
+ width: '700',
434
+ }
435
+ }
436
+ />
437
+ </div>
438
+
439
+ <div class="img--medium img--16/9 b-l b-white w-full">
440
+ <Image
441
+ imageObject={
442
+ {
443
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
444
+ alt: 'Image Alt',
445
+ height: '300',
446
+ width: '300',
447
+ }
448
+ }
449
+ />
450
+ </div>
451
+
452
+ <div class="img--medium img--3/4 b-l b-white w-full">
453
+ <Image
454
+ imageObject={
455
+ {
456
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
457
+ alt: 'Image Alt',
458
+ height: '700',
459
+ width: '700',
460
+ }
461
+ }
462
+ />
463
+ </div>
464
+
465
+ <div class="img--medium img--2/3 b-l b-white w-full">
466
+ <Image
467
+ imageObject={
468
+ {
469
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
470
+ alt: 'Image Alt',
471
+ height: '700',
472
+ width: '700',
473
+ }
474
+ }
475
+ />
476
+ </div>
477
+
478
+ ```
479
+
480
+
481
+ It is good to have all the images in the same ratio so that they look fairly uniform. Additionally, you can use a different ratio on desktop than on mobile view.
482
+
483
+ ### Image 1:1 on mobile, and 4:3 on desktop
484
+
485
+ <div class="component-preview">
486
+ <div class="columns-1 md:columns-3">
487
+ <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
488
+ <Image
489
+ imageObject={
490
+ {
491
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
492
+ alt: 'Image Alt',
493
+ height: '700',
494
+ width: '700',
495
+ }
496
+ }
497
+ />
498
+ </div>
499
+ </div>
500
+ </div>
501
+ ```js
502
+ <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
503
+ <Image
504
+ imageObject={
505
+ {
506
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
507
+ alt: 'Image Alt',
508
+ height: '700',
509
+ width: '700',
510
+ }
511
+ }
512
+ />
513
+ </div>
514
514
  ```