spoko-design-system 0.7.5 → 0.7.6

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 (169) hide show
  1. package/.astro/settings.json +4 -4
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/deploy.yml +39 -39
  5. package/.stackblitzrc +5 -5
  6. package/.vscode/extensions.json +5 -5
  7. package/.vscode/launch.json +11 -11
  8. package/.vscode/settings.json +5 -5
  9. package/LICENSE +21 -21
  10. package/README.md +114 -114
  11. package/astro-i18next.config.mjs +17 -17
  12. package/astro-i18next.config.ts +10 -10
  13. package/astro.config.mjs +86 -86
  14. package/dev-dist/sw.js +91 -91
  15. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  16. package/icon.config.ts +309 -309
  17. package/index.ts +66 -66
  18. package/package.json +1 -1
  19. package/public/fonts/lg.svg +53 -53
  20. package/public/fonts/vwhead-bold-demo.html +549 -549
  21. package/public/fonts/vwhead-regular-demo.html +549 -549
  22. package/public/fonts/vwtext-bold-demo.html +549 -549
  23. package/public/fonts/vwtext-regular-demo.html +549 -549
  24. package/public/github.svg +3 -3
  25. package/public/grid_dot.svg +4 -4
  26. package/public/linkedin.svg +44 -44
  27. package/public/locales/en/translation.json +8 -8
  28. package/public/locales/pl/translation.json +8 -8
  29. package/public/make-scrollable-code-focusable.js +3 -3
  30. package/public/pagefind.yml +3 -3
  31. package/public/polo.blue.svg +29 -29
  32. package/public/spoko.space.svg +71 -71
  33. package/public/twitter.svg +46 -46
  34. package/renovate.json +6 -6
  35. package/sandbox.config.json +11 -11
  36. package/src/MyComponent.astro +8 -8
  37. package/src/components/Badge.vue +19 -19
  38. package/src/components/Badges.vue +21 -21
  39. package/src/components/Breadcrumbs.vue +107 -107
  40. package/src/components/Button.vue +101 -101
  41. package/src/components/ButtonCopy.astro +183 -183
  42. package/src/components/ButtonCopy.vue +36 -36
  43. package/src/components/Card.astro +27 -27
  44. package/src/components/Carousel.astro +26 -26
  45. package/src/components/Category/CategoriesCarousel.astro +101 -101
  46. package/src/components/Category/CategoryDetails.astro +169 -169
  47. package/src/components/Category/CategoryLink.vue +28 -28
  48. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  49. package/src/components/Category/CategoryTile.astro +37 -37
  50. package/src/components/Category/CategoryViewToggler.astro +89 -89
  51. package/src/components/Category/SubCategoryLink.vue +19 -19
  52. package/src/components/Copyright.astro +12 -12
  53. package/src/components/Date.astro +7 -7
  54. package/src/components/Faq.astro +33 -33
  55. package/src/components/FaqItem.astro +80 -80
  56. package/src/components/FeaturesList.vue +41 -41
  57. package/src/components/FuckRussia.vue +62 -62
  58. package/src/components/HandDrive.astro +29 -29
  59. package/src/components/Header/Header.astro +210 -210
  60. package/src/components/Header/SkipToContent.astro +1 -1
  61. package/src/components/Headline.vue +48 -48
  62. package/src/components/Image.astro +30 -30
  63. package/src/components/LeftSidebar.astro +53 -53
  64. package/src/components/MainColors.vue +22 -22
  65. package/src/components/MainInput.vue +15 -15
  66. package/src/components/Modal.astro +27 -27
  67. package/src/components/PageContent.astro +5 -5
  68. package/src/components/PartNumber.vue +27 -27
  69. package/src/components/Post/PostCategories.astro +41 -41
  70. package/src/components/Post/PostCategories.vue +39 -39
  71. package/src/components/PostHeader.astro +103 -103
  72. package/src/components/PrCode.vue +141 -141
  73. package/src/components/Product/ProductButton.vue +18 -18
  74. package/src/components/Product/ProductCarousel.astro +35 -35
  75. package/src/components/Product/ProductCodes.vue +174 -174
  76. package/src/components/Product/ProductEngineType.vue +42 -42
  77. package/src/components/Product/ProductImage.astro +40 -40
  78. package/src/components/Product/ProductLink.astro +101 -101
  79. package/src/components/Product/ProductLink.vue +59 -59
  80. package/src/components/Product/ProductLinkInfo.astro +37 -37
  81. package/src/components/Product/ProductNumber.astro +60 -60
  82. package/src/components/ProductCarousel.astro +38 -38
  83. package/src/components/ProductCodes.vue +39 -39
  84. package/src/components/ProductDetailName.vue +52 -52
  85. package/src/components/ProductDetailsList.vue +157 -157
  86. package/src/components/ProductTile.astro +48 -48
  87. package/src/components/Quote.vue +23 -23
  88. package/src/components/ReloadPrompt.astro +50 -50
  89. package/src/components/SlimBanner.vue +72 -72
  90. package/src/components/Table.vue +32 -32
  91. package/src/components/TableOfContents.astro +15 -15
  92. package/src/components/Translations.vue +23 -23
  93. package/src/components/flags/FlagPL.vue +3 -3
  94. package/src/components/flags/FlagUA.vue +2 -2
  95. package/src/components/layout/Container.astro +7 -7
  96. package/src/components/layout/Header.astro +80 -80
  97. package/src/config.ts +56 -56
  98. package/src/design.config.ts +98 -98
  99. package/src/env.d.ts +6 -6
  100. package/src/layouts/Layout.astro +61 -61
  101. package/src/layouts/MainLayout.astro +81 -81
  102. package/src/layouts/partials/FooterCommon.astro +4 -4
  103. package/src/layouts/partials/HeadCommon.astro +44 -44
  104. package/src/layouts/partials/HeadSEO.astro +41 -41
  105. package/src/pages/components/badges.mdx +57 -57
  106. package/src/pages/components/breadcrumbs.mdx +139 -139
  107. package/src/pages/components/buttons.mdx +360 -360
  108. package/src/pages/components/card.mdx +294 -294
  109. package/src/pages/components/carousel.mdx +62 -62
  110. package/src/pages/components/copyright.mdx +42 -42
  111. package/src/pages/components/details-list.mdx +115 -115
  112. package/src/pages/components/features-list.mdx +37 -37
  113. package/src/pages/components/flags.mdx +49 -49
  114. package/src/pages/components/fuck-russia.mdx +39 -39
  115. package/src/pages/components/hand-drive.mdx +38 -38
  116. package/src/pages/components/headline.mdx +152 -152
  117. package/src/pages/components/icons.astro +135 -135
  118. package/src/pages/components/image.mdx +513 -513
  119. package/src/pages/components/input.mdx +367 -367
  120. package/src/pages/components/jumbotron.mdx +359 -359
  121. package/src/pages/components/modal.mdx +64 -64
  122. package/src/pages/components/post-header.mdx +64 -64
  123. package/src/pages/components/pr-code.mdx +65 -65
  124. package/src/pages/components/product-number.mdx +58 -58
  125. package/src/pages/components/product-tile.mdx +51 -51
  126. package/src/pages/components/quote.mdx +33 -33
  127. package/src/pages/components/slimbanner.mdx +35 -35
  128. package/src/pages/components/table.mdx +108 -108
  129. package/src/pages/core/colors.mdx +10 -10
  130. package/src/pages/core/grid.mdx +89 -89
  131. package/src/pages/core/introduction.mdx +77 -77
  132. package/src/pages/core/shadows.astro +20 -20
  133. package/src/pages/core/typography.astro +49 -49
  134. package/src/pages/index.astro +133 -133
  135. package/src/pages/patterns/introduction.mdx +60 -60
  136. package/src/pwa.ts +12 -12
  137. package/src/styles/_variables.scss +70 -70
  138. package/src/styles/base/base.css +184 -184
  139. package/src/styles/base/grid.css +92 -92
  140. package/src/styles/base/typography.css +70 -70
  141. package/src/styles/content.css +73 -73
  142. package/src/styles/main.css +7 -7
  143. package/src/types/Product.ts +31 -31
  144. package/src/types/astro.d.ts +3 -3
  145. package/src/utils/product/getPriceFormatted.ts +15 -15
  146. package/src/utils/product/getProductChecklist.ts +17 -17
  147. package/src/utils/product/useFormatProductNumber.ts +41 -41
  148. package/src/utils/seo/getShorterDescription.ts +14 -14
  149. package/src/utils/text/formatDate.ts +5 -5
  150. package/src/utils/text/formatLocaleNumber.ts +6 -6
  151. package/src/utils/text/formatPad.ts +12 -12
  152. package/src/utils/text/getNumberFormatted.ts +33 -33
  153. package/src/utils/text/getTranslatedLink.ts +5 -5
  154. package/src/utils/text.ts +19 -19
  155. package/tailwind.config.cjs +8 -8
  156. package/tsconfig.json +28 -28
  157. package/uno-config/index.ts +232 -232
  158. package/uno-config/theme/breakpoints.ts +9 -9
  159. package/uno-config/theme/colors.ts +64 -64
  160. package/uno-config/theme/dimensions.ts +17 -17
  161. package/uno-config/theme/effects.ts +14 -14
  162. package/uno-config/theme/grid.ts +10 -10
  163. package/uno-config/theme/index.ts +28 -28
  164. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  165. package/uno-config/theme/shortcuts/components.ts +92 -92
  166. package/uno-config/theme/shortcuts/index.ts +20 -20
  167. package/uno-config/theme/shortcuts/layout.ts +64 -64
  168. package/uno-config/theme/typography.ts +29 -29
  169. 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
  ```